اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

بسم الله الرحمن الرحيم

الإخوة الكرام رواد المنتدى ..

تحدثنا في موضوع سابق سابق عن كيفية التعامل مع الريجستري، وقمنا بتضمين Module لتسهيل التعامل مع الريجستري وذلك من خلال استخدام توابع ال API ..

واليوم وفي هذا الموضوع سنشرح طريقة أخرى للتعامل مع الريجستري وهي طريقة سهلة جداً سنعتمد فيها على استخدام الكائن Wscript ..

الأمر لا يتعدى ثلاثة أسطر من الكود ..

في البداية لابد أن نقوم بتعريف الكائن بواسطة الكود التالي:

Dim WSH As Object
Set WSH = CreateObject("Wscript.Shell")
بعدها سيكون تعاملنا مع الريجستري إما بالإضافة أو الحذف أو استرجاع القيم، وكل عملية من هذه العمليات لا تحتاج إلى أكثر من سطر كودي واحد لعملها .. ولنر ذلك معاً: لإضافة مدخل قيمة جديد إلى الريجستري:
WSH.RegWrite "HKCU\Officena\Example", 1, "REG_DWORD"
لاحظ أننا استخدمنا الوظيفة RegWrite وقمنا بتمرير ثلاث قيم إلى هذه الوظيفة، وهي: 1. اسم مدخل القيمة الجديد الذي نريد إضافته ومساره. 2. قيمة هذا المدخل الجديد. 3. نوع هذا المدخل ولاحظ أنه هنا من نوع REG_DWORD، ويمكن أن يكون REG_SZ أو REG_BINARY أو REG_MULTI_SZ أو أي نوع تريده .. ولإضافة مفتاح سنستخدم نفس الطريقة السابقة، مع تغيير طفيف، لاحظ:
WSH.RegWrite "HKCU\Officena\Codes\", 1, "REG_DWORD"
لحذف مدخل قيمة موجود مسبقاً:
WSH.RegDelete "HKCU\Officena\Example"
لاحظ أننا سنمرر اسم المدخل الذي نريد حذفه إلى الوظيفة RegDelete .. ولحذف مفتاح موجود مسبقاً نستخدم نفس الطريقة السابقة مع تغيير بسيط، لاحظ:
WSH.RegWrite "HKCU\Officena\Codes\"
ولمعرفة قيمة مدخل موجود بالريجستري:
Print WSH.RegRead("HKCU\Al-ebda3.info\Example")
ولمعرفة قيمة مفتاح موجود بالريجستري:
Print WSH.RegRead("HKCU\Officena\Codes\")

أتمنى أن أكون قد وُفقت في شرحي لذلك .. وأتمنى للجميع التوفيق

تم تعديل بواسطه عبد الله فتحي
قام بنشر

السلام عليكم ورحمة الله وبركاته

الله يعطيك الف عافية يا استاذ عبد الله

لكن عند التجربة وجدت بعض الملاحظات

1-ظهور خطأ عند استخدام المدخل

REG_STRING

ومن بعد البحث والتجريب وجدت الاسم الصحيح للمدخل وهو

REG_SZ

2-النقطة الثانية وهي عند إضافة مدخل جديد يأخد اسم (Defult)

As defult

وسؤالي هو كيفية التحكم بأسماء المدخلات عند إنشائها

تحياتي لك

ابو نادر

قام بنشر

بالفعل أخي أمجد، كما ذكرت تماماً فإن النوع الصحيح لمدخل القيمة النصي هو REG_SZ وليس REG_STRING، وقمت بتصحيحها في الأعلى، فشكراً لك ..

أما بالنسبة للنقطة الثانية فلم أفهم ما المقصود بالضبط ؟

هل تريد اختيار اسم مدخل القيمة كما تريد ؟؟

كل ما عليك هو تغيير الاسم Example في المثال كيفما تريد ..

أو أنك تقصد شيئاً آخر لم أقدر على فهمه ..

مع تمنياتي لك بالتوفيق ..

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information