المشاركة الأصلية كتبت بواسطة Eye Code
ها قد عدنا من جديد...
س سؤال...^^
كيف يمكنني إضافة متغير للنظام باستخدام الأوامر البرمجية؟
يمكن إضافتها يدويا عبر:
My Computer(Right Click)>>Properties>>Environment Variables>>System Variables
لكن كمبرمج أريد إضافة متغير في كل جهاز ينزل عليه برنامجي...فكيف يمكن ذلك؟
مع العلم أن الطريقة المذكورة هي لـWin XP ولها طريقة أخرى في كل من Vista و 7
لإضافة متغيرات جديدة للنظام لازم يكون التعديل في الريجستري Registry Editor
والمفتاح الخاص به في محرر التسجيل موجود على هذا المسار
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion Manager\Environment
بعد فتح المفتاح السابق انشئ قيمة جديدة من نوع REG_EXPAND_SZ واعطها الإسم الذي تريد للمتغير الذي ستكتبه في RUN من دون كتابة % في الريجستري ولكنك ستكتبه في Run إذا اردت فتحه
يعني تكتب اسم القيمة في الريجستري wahdain وإذا اردت فتح المتغير من Run أكتب %wahdain%
ثم تدخل البيانات للقيمة السابقة في الريجستري والتي ستكون قيمة المتغير wahdain في النظام
قد يكون الشرح السابق مبعثراً وغير مفهوم بحكم عدم خبرتك في التعامل مع الريجستري لكنك ستفهم من الكود البرمجي الذي سأضعه إن شاء الله
أولا هذا هو البرنامج الذي تريد عمله
http://www.mediafire.com/?tmmt1jtzmnx
مع الكود الخاص به
هذا هو الكود الموجود بداخل زر تنفيذ
On Error Resume Next
Dim Reg As Object
Set Reg = CreateObject("Wscript.Shell")
Reg.regwrite "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\S ession Manager\Environment\" & Text1.Text, Text2.Text, "REG_EXPAND_SZ"
MsgBox "تم التنفيذ بنجاح , الرجاء إعادة تشغيل الكمبيوتر حتى تصبح الإعدادات الجديدة نافذة المفعول", vbInformation
أولاً دالة تجاوز الأخطاء
السطرين التاليين لتعريف أوامر التحكم بالريجستري
ثم استخدمنا الأمر Reg.regwrite بعد تعريفه حتى يمكننا من تعديل أو إنشاء قيمة في الريجستري
وفي نفس السطر قمنا بتحديد المفتاح المسؤول عن إضافة متغيرات النظام وهو
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion Manager\Environment
أما Text1.Text فهو المسؤول عن وضع إسم للقيمة كمثال wahdain
و Text2.Text هو عبارة عن بيانات القيمة wahdain وهي البرنامج الذي سيشغله متغير النظام wahdain
واخيرا على نفس السطر حددنا نوع قيمة الريجستري والتي يجب ان تكون REG_EXPAND_SZ لتعتبر متغيرا في النظام
على فكرة هذه الطريقة تتطلب إعادة التشغيل أو تسجيل الخروج لتفعيل القيمة الجديدة في النظام
قد لايعمل كود تعديل الريجستري لديك بسبب إختلاف الإصدارات التي نستعملها لكن تقدر تستفيد من الفكرة بعد فهمها وتبحث عن كود تعديل ريجستري يعمل في إصدار الفيجوال الخاص بك
أعتقد انني قد وفيت بوعدي *_^
إذا لم تفهم احد النقاط السابقة سأشرحها مجددا إن شاء الله ^^"
ملاحظة :- إذا ظهرت لك مسافات في أحد كلمات مفتاح الريجستري في مشاركتي هذه امسحها
المفضلات