منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
عندي خطا في الريجستري ممكن الحل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : عندي خطا في الريجستري ممكن الحل (/showthread.php?tid=35588)



عندي خطا في الريجستري ممكن الحل - عاصم النجار - 11-07-20

عندي خطا في الريجستري ممكن الحل
ساعدوني 



RE: عندي خطا في الريجستري ممكن الحل - Mohamad Anan - 11-07-20

مرحبا اخي الكريم

يوجد قصاصة كود مرفقة مع Microsoft Visual Studio 2008 تو ضح طريقة التأكد من وجود المفتاح قبل قراءته

شرح بالصور لطريقة استخدام و كتابة قصاصات الكود Code Snippet المرفقة مع VB.Net .

كود :
       Dim exists As Boolean = False
       Try
           If My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\TestApp\1.0") IsNot Nothing Then
               exists = True
           End If
       Finally
           My.Computer.Registry.CurrentUser.Close()
       End Try


و هي تأكد حدوث اسثناء اذا تم استعلام عن مفتاح غير موجود لهذا يجب و ضعه في Tryلوحده

اذا كان هذا سبب المشكلة عندك و ليس السبب مشكة في الصلاحيات للوصول للمفتاح

المثال التالي يوضح طريقة التأكد من اول تشغيل لبرنامج على جهاز و كتابة اول قيمة افتراضية

 RE: مشكلة في Timer


RE: عندي خطا في الريجستري ممكن الحل - Jounior_P - 11-07-20

من الواضح انها مشكلة صلاحيات


RE: عندي خطا في الريجستري ممكن الحل - Mohamad Anan - 11-07-20

(11-07-20, 04:34 PM)Jounior_P كتب : من الواضح انها مشكلة صلاحيات

طبعا اخي الخطأ واضح و أنا بمشاركتي السابقة كنت اتحدث عن معالجة الخطأ
لا أعلم اذا كان كود اعطاء صلاحيات للمستخدم الحالي يعمل لأني اسجل دخول كمدير ِAdministrator
أي اني لم أختبر الكود و لا يمكنني اختباره حاليا
كود :
mports System.Security.AccessControl
Public Class Form1
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim UserName As String = SystemInformation.UserName
       Dim RS As New RegistrySecurity()
       RS.AddAccessRule(New RegistryAccessRule(UserName, RegistryRights.CreateSubKey Or RegistryRights.Delete Or RegistryRights.ExecuteKey Or RegistryRights.FullControl Or RegistryRights.ReadKey Or RegistryRights.SetValue Or RegistryRights.WriteKey, AccessControlType.Allow))
   End Sub
End Class

و في حال كان للكود فائدة ألا يعتبر تجاوز لصلاحيات المستخدم و جعلها بلا فائدة