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

نسخة كاملة : مشكلة اضافة قيمه للرجستري
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
واجهتني مشكلة وهي اني اقوم بكتابة كود صحيح يقوم باضافة قيمه في الرجستري 
و لكن لا يضيف هذه القيمة و compiler لا يعطيني اي error لان الكود صحيح 100%
وانا شغلت برنامجي على انه مدير admin ولكن لم ينفع واعتقد ان المشكله هي  Registry virtualisation 
قرأت عنها ولكن لم استطع حل مشكلتي


الكود:
كود :
 Dim autoshell = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Policies\Explorer\DisallowRun", True)

        autoshell.SetValue("1", "notepad.exe")
        MsgBox(autoshell.GetValue("1"))
        autoshell.Close()
وملاحظة عندما اجلب القيمة في msgbox القيمة تظهر ولكن المشكلة انها حقيقة غير موجودة ... انظر الصورة في المرفقات
عند إضافة او حذف او قراءة بيانات من الريجستري وعلي ما أعتقد انت في حاجة الي استخدام اثنان StringBuilder أحدهم سوف يستخدم مع Keys و الأخر مع Values
سلام


انا استخدمت هذه الطريقه وظهرت القيمه،
ولكن لم اجد ان له تاثير فقد تم فتح النوتباد ولم يمنعه سواء في CurrentUser او LocalMachine
كود :
' CurrentUser
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun", "1", "notepad.exe")

' LocalMachine
My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun", "1", "notepad.exe")


موفقين
تم الحل اخي بعد ما تم تحويل الصلاحيات ل :

 
كود :
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

واخي الطالب يجب عليك اضافة قيمة اخرى وهي موضحه في الصورة ... قم بعمل اعادة تشغيل للكميبيوتر وسوف تظهرلك الرسالة الاتية عند فتح notepad