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

نسخة كاملة : عندي خطا في الريجستري ممكن الحل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عندي خطا في الريجستري ممكن الحل
ساعدوني 
مرحبا اخي الكريم

يوجد قصاصة كود مرفقة مع 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
من الواضح انها مشكلة صلاحيات
(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

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