منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة في الوصول لــ Registry النظام
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 
لدي مشكلة في الوصول لـــ Registry  النظام لحماية البرنامج
الصور المرفقة توضح المشكلة
وعليكم السلام، يبدو أن المشكلة التي تواجهها تتعلق بصلاحيات الوصول إلى 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، سيتم عرض رسالة تنبيه للمستخدم. إذا حدث أي خطأ آخر، سيتم عرض رسالة الخطأ للمستخدم أيضًا.



ارجوا المره الاخرى ان تكتب الاكواد كتابه ولا تستخدم الصور اخي انسخ لي الاكواد ارجوك ههههههههههههه