![]() |
|
[VB.NET] مشكلة في الوصول لــ Registry النظام - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] مشكلة في الوصول لــ Registry النظام (/showthread.php?tid=45784) |
مشكلة في الوصول لــ Registry النظام - MOHAMMED ALZWI - 25-03-23 السلام عليكم لدي مشكلة في الوصول لـــ Registry النظام لحماية البرنامج الصور المرفقة توضح المشكلة RE: مشكلة في الوصول لــ Registry النظام - sanyor77 - 26-03-23 وعليكم السلام، يبدو أن المشكلة التي تواجهها تتعلق بصلاحيات الوصول إلى Registry النظام. يبدو أن الكود يحاول الوصول إلى فرع من الـ Registry النظام بشكل غير صحيح. لحل هذه المشكلة، يمكنك تحديد صلاحيات الوصول إلى Registry النظام باستخدام الـ User Account Control (UAC)، وذلك عن طريق تغيير قيمة الـ requestedExecutionLevel في ملف التعريف (manifest) الخاص بالتطبيق. للقيام بذلك، يمكنك اتباع الخطوات التالية: افتح ملف التعريف الخاص بالتطبيق (manifest) باستخدام محرر نصوص. ابحث عن العنصر requestedExecutionLevel وقم بتغيير قيمته إلى requireAdministrator. احفظ الملف. أعد تشغيل التطبيق. بعد تغيير قيمة الـ requestedExecutionLevel إلى requireAdministrator، سيطلب UAC من المستخدم تأكيد الوصول إلى Registry النظام. إذا تم تأكيد الوصول، يجب أن تتمكن التطبيق من الوصول إلى Registry النظام بنجاح. لاحظ أن تغيير قيمة الـ requestedExecutionLevel إلى requireAdministrator يمكن أن يؤدي إلى بعض المشاكل في بعض الحالات، لذلك ينبغي الحذر عند استخدامها والتأكد من أنها ضرورية لعمل التطبيق بشكل صحيح. بالتأكيد، إليك الكود الذي يتضمن التغييرات اللازمة لتحديد صلاحيات الوصول إلى Registry النظام باستخدام UAC: If TextBox3.Text = TextBox4.Text Then x = TextBox4.Text Dim ActiveKey As RegistryKey Dim regPath As String = "SOFTWARE\FoxSoftware" Try ActiveKey = Registry.LocalMachine.OpenSubKey(regPath, True) If ActiveKey Is Nothing Then ' Key does not exist, create it ActiveKey = Registry.LocalMachine.CreateSubKey(regPath) End If ' Write value to registry ActiveKey.SetValue("Key", x) Catch ex As SecurityException ' UAC denied access to registry MsgBox("Access to the registry is denied. Please run the application as administrator.", MsgBoxStyle.Critical, "Error") Catch ex As Exception ' Other errors MsgBox("An error occurred while accessing the registry: " & ex.Message, MsgBoxStyle.Critical, "Error") End Try End If يتم فحص صلاحيات الوصول إلى Registry النظام بعد محاولة فتح الفرع "SOFTWARE\FoxSoftware". إذا تم رفض الوصول بسبب UAC، سيتم عرض رسالة تنبيه للمستخدم. إذا حدث أي خطأ آخر، سيتم عرض رسالة الخطأ للمستخدم أيضًا. ارجوا المره الاخرى ان تكتب الاكواد كتابه ولا تستخدم الصور اخي انسخ لي الاكواد ارجوك ههههههههههههه |