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