بعد قراءة هذا يمكنك استخدام asp لتعديل السجل
هل سمعت عن WSH الشهير؟ إنه اختصار لـ Windows Script Host. WSH عبارة عن تعليمات نصية لمنصة Windows، ووظيفتها قوية جدًا، كما أنها تستخدم لغات البرمجة النصية JScript وVBScript مع بناء جملة بسيط، وسهل التعلم والاستخدام، ووظائف قوية. تحقيق وظائفه الممتازة، بالإضافة إلى تعديل السجل الذي تم تقديمه في هذه المقالة، يمكنه أيضًا الوصول إلى ملفات Excel والتواصل مع الشبكة. وبطبيعة الحال، فإن أكبر ميزة له هي أنه يمكنه التواصل مع نظام التشغيل، ولا يقتصر الأمر على تعديل السجل وسيلة للتواصل مع نظام التشغيل غيض من فيض. نظرًا لمزاياه العديدة وعمليته، فهو مفضل لدى العديد من مستخدمي Windows. ستقدمه لك هذه المقالة حتى تتمكن من تقدير أناقة WSH.
امتداد ملف برنامج WSH المكتوب في VBScript هو .vbs. يتم تفسير برنامج البرنامج النصي وتنفيذه بواسطة ملف wscript.exe في واجهة النافذة وبواسطة ملف cscript.exe في واجهة الأحرف. تنسيق الأمر هو: اسم ملف cscript فبس
لإنشاء كائن واستخدام VBScript لتعديل السجل، يجب عليك أولاً إنشاء كائن يمكنه الاتصال بنظام التشغيل، ثم استخدام أساليب مختلفة للكائن لتشغيل السجل. فيما يلي طريقة إنشاء هذا الكائن وتنسيقه :
خافت عملية التسجيل
تعيين OperationRegistry=WScript.CreateObject("WScript.Shell")
يقوم الكود أعلاه بإنشاء كائن OperationRegistry يمكنه التواصل مع نظام التشغيل.
طرق الكائن لا يعني وجود الكائن أعلاه أنه يمكننا تشغيل السجل على الفور، ويجب علينا أيضًا فهم عدة طرق مهمة لهذا الكائن لتشغيل السجل.
1. عملية RegRead لقراءة السجل
2. عملية الكتابة RegWrite إلى التسجيل
3. عملية الحذف RegDelete على التسجيل
بالإضافة إلى ذلك، لدى WSH أيضًا طريقتان عامتان:
يتم استخدام WScript.Echo() لعرض سلسلة من المعلومات النصية، وهو ما يعادل MsgBox() في VB.
يتم استخدام Wscript.Quit() للخروج من برنامج VBScript.
تتطلب معلمات الطريقة معلمات للعمليات الثلاث المذكورة أعلاه RegRead وRegWrite وRegDelete، ويختلف عدد وشكل المعلمات لهذه العمليات أدناه سأتحدث عن أحد المعلمات المشتركة والأساسية الخاصة بها:
يمكن أن تسمى هذه المعلمة "معلمة المسار"، والتي تتضمن مفتاح الجذر ومسار المفتاح الأساسي وقيمة المفتاح، وتكون طريقة التعبير عن كل جزء كما يلي:
مفتاح الجذر:
هناك طريقتان لتمثيل مفاتيح الجذر.
الطريقة الأولى: استخدم سلسلتها مباشرة في السجل لتمثيلها، مثل:
HKEY_CLASSES_ROOT، HKEY_CURRENT_USER، إلخ. الطريقة الثانية: استخدم الأحرف الأربعة من الاختصار لتمثيله، الحرفان الأولان هما HK، والأخيران هما الحرفان الأولان من الكلمة الرئيسية الجذر. يحب:
يتم التعبير عن مفتاح الجذر HKEY_CLASSES_ROOT على النحو التالي: HKCR، ويمكن التعبير عن مفتاح الجذر HKEY_CURRENT_USER على النحو التالي: HKCU، وما إلى ذلك.
مسار المفتاح الأساسي:
مسار المفتاح الأساسي هو موقع المفتاح الأساسي للمفتاح الهدف في التسجيل، ويتم فصل كل مفتاح أساسي بأحرف "". على سبيل المثال: "SoftwareMicrosoftWindowsCurrentVersionPolicies"
القيمة الرئيسية:
تتبع معلمات القيمة الرئيسية مسار المفتاح الأساسي مباشرةً. على سبيل المثال، يبدو المسار الكامل كما يلي:
"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun"
شرح تفصيلي للطريقة
1. تفسير مفصل لعملية RegRead. تُستخدم عملية RegRead بشكل أساسي لقراءة القيمة الافتراضية أو بيانات القيمة الرئيسية للمفتاح الأساسي في التسجيل. يمكننا إرسال بيانات القراءة إلى المتغير المقابل ثم استخدام وظيفة MsgBox() في VB، يؤدي عرض البيانات إلى تحقيق غرض قراءة البيانات الموجودة في السجل (يمكنك أيضًا استخدام الطريقة Popup() الخاصة بالكائن OperationRegistry لإرسال بيانات القراءة إلى الشاشة)، على سبيل المثال:
'read.vbs (احفظ الكود التالي كملف read.vbs)
خافت عملية التسجيل
تعيين OperationRegistry=WScript.CreateObject("WScript.Shell")
خافت Read_Data1، Read_Data2
Read_Data1=OperationRegistry.RegRead("HKCR.xxf")
'اقرأ القيمة الافتراضية للمفتاح الأساسي .xxf ضمن المفتاح الجذر HKEY_CLASSES_ROOT، وأرسل البيانات إلى المتغير Read_Data1
Read_Data2=OperationRegistry.RegRead("HKCR.xxfvalue")
'اقرأ بيانات مفتاح القيمة ضمن المفتاح الأساسي .xxf وأرسل البيانات إلى المتغير Read_Data2
MsgBox("Default="&Read_Data1&" القيمة ="&Read_Data2)
'عرض بيانات القراءة
2. شرح تفصيلي لعملية RegWrite. تستخدم عملية الكتابة RegWrite بشكل أساسي لإنشاء مفاتيح أساسية جديدة أو قيم مفاتيح في السجل ومنحها قيمة أولية، ويمكن لهذه العملية أيضًا تعديل بيانات المفاتيح الأساسية الموجودة أو قيم المفاتيح في السجل، وبالتالي فإن بنية المعلمة لعملية الكتابة أكثر تعقيدًا من تلك الخاصة بعملية القراءة، فهي لا تتطلب معلمات المسار فحسب، بل تتطلب أيضًا معلمات القيمة والنوع الأولية.
دعونا نلقي نظرة على معلمة القيمة الأولية أولاً. هذه المعلمة ضرورية لعمليات الكتابة. يمكن أن تكون فارغة (خالية) ولكن لا يمكن حذفها. عند إنشاء مفتاح أساسي جديد، يتم تعيين معلمة القيمة الأولية إلى القيمة الافتراضية للمفتاح الأساسي. عند إنشاء قيمة مفتاح جديدة، تصبح معلمة القيمة الأولية هي البيانات الأولية لقيمة المفتاح الجديد يتم تحديدها بواسطة معلمة النوع. هناك ثلاثة أنواع رئيسية:
(1)REG_SZ: نوع الحرف هذا النوع هو النوع الافتراضي
(2)REG_DWORD: نوع مزدوج البايت.
(3)REG_BINARY: نوع ثنائي.
النوع الأول والثاني من الأنواع الثلاثة المذكورة أعلاه هما الأكثر استخدامًا، ويمكن استبدال النوع الثالث بالنوع الثاني في بعض المواقف، وتكون طرق تخصيص هذه الأنواع الثلاثة كما يلي:
بالنسبة لنوع REG_SZ: يتم التعيين مباشرةً باستخدام سلسلة، مثل "نص" و"سلسلة" وما إلى ذلك. بالنسبة لنوع REG_DWORD ونوع REG_BINARY، هناك طريقتان للتخصيص.
ط) يتم التعبير عنها مباشرة بالأرقام العشرية، مثل: 0، 1، إلخ.
2) يتم التعبير عنها بالأرقام السداسية العشرية، مثل: 0x12، 0xff، إلخ. انظر المثال:
'الكتابة.vbs
خافت عملية التسجيل
تعيين OperationRegistry=WScript.CreateObject("WScript.Shell")
Default=OperationRegistry.RegRead("HKCR")
'الحصول على قيمة فارغة (خالية)
OperationRegistry.RegWrite "HKCR.xxf"، الافتراضي
'قم بإنشاء مفتاح أساسي جديد.xxf ضمن المفتاح الجذر HKEY_CLASSES_ROOT، وقم بتعيين قيمته الافتراضية على فارغة
OperationRegistry.RegWrite "HKCR.xxf"،"xxffile"
'قم بإنشاء مفتاح أساسي جديد .xxf ضمن المفتاح الجذر HKEY_CLASSES_ROOT وقم بتعيين قيمته الافتراضية على "xxffile"
OperationRegistry.RegWrite "HKCR.xxfvalue1"،"سلسلة"
'قم بإنشاء قيمة قيمة مفتاح سلسلة جديدة 1 ضمن المفتاح الأساسي.xxf، وقم بتعيين قيمتها الأولية على "سلسلة"
OperationRegistry.RegWrite "HKCR.xxfvalue2"،1،"REG_DWORD"
'قم بإنشاء قيمة مفتاح REG_DWORD جديدة بقيمة 2 ضمن المفتاح الأساسي.xxf، وقم بتعيين قيمتها الأولية على 1
OperationRegistry.RegWrite "HKCR.xxfvalue3"،0Xff،"REG_BINARY"
'قم بإنشاء قيمة مفتاح ثنائي جديدة بقيمة 3 ضمن المفتاح الأساسي .xxf، وقم بتعيين قيمتها الأولية إلى النظام الست عشري ff
3. شرح تفصيلي لعملية RegDelete. تُستخدم عملية الحذف RegDelete بشكل أساسي لحذف المفتاح الأساسي أو قيمة المفتاح الموجودة بالفعل في السجل. هذه العملية خطيرة للغاية حيث يمكنها حذف المفتاح الأساسي أو قيمة المفتاح بلا رحمة سيعمل "القطع" دون عوائق بغض النظر عن مدى أهمية البيانات الموجودة أسفل المفتاح، لذا كن حذرًا عند استخدام هذه العملية.
شكل معلمة عملية الحذف مطابق تقريبًا لشكل معلمة عملية القراءة، باستثناء اختلاف واحد صغير، وهو أن عملية الحذف لا تحتاج إلى إرسال القيمة المرجعة للعملية إلى متغير معين، على سبيل المثال:
"حذف.vbs."
خافت عملية التسجيل
تعيين OperationRegistry=WScript.CreateObject("WScript.Shell")
OperationRegistry.RegRead("HKCR.xxfvalue")
'احذف قيمة مفتاح القيمة ضمن المفتاح الأساسي .xxf
OperationRegistry.RegRead("HKCR.xxf")
'احذف المفتاح الأساسي .xxf الموجود أسفل المفتاح الجذر HKEY_CLASSES_ROOT ومن المهم التأكيد على عدم تغيير المفاتيح الأساسية أو قيم المفاتيح الموجودة بالفعل في السجل، ناهيك عن حذفها، بسبب الكتابة غير الصحيحة أو حذفها. التسجيل خطير وسيتسبب في تعطل النظام. إذا كنت تريد حقًا القيام بذلك، فيرجى عمل نسخة احتياطية من السجل.
أمثلة التطبيق
1. اقرأ "اسم الكمبيوتر" لهذا الجهاز
'"قراءة اسم الكمبيوتر. vbs."
خافت ReadComputerName
تعيين ReadComputerName=WScript.CreateObject("WScript.Shell")
اسم الكمبيوتر الخافت، RegPath
RegPath="HKLMSystemCurrentControlSetControlComputerNameComputerNameComputerName"
ComputerName=ReadComputerName.RegRead(RegPath)
MsgBox("اسم الكمبيوتر"&اسم الكمبيوتر)
2. إخفاء السهم الصغير الموجود على أيقونة الاختصار
"مخفي.vbs."
رمز السهم المخفي الخافت
تعيين HiddenArrowIcon=WScript.CreateObject("WScript.Shell")
خافت RegPath1، RegPath2
RegPath1="HKCRlnkfileIsShortCut"
RegPath2 = "HKCRpiffileIsShortCut"
HiddenArrowIcon.RegDelete(RegPath1)
HiddenArrowIcon.RegDelete(RegPath2)
3. تحويل قائمة "ابدأ".
"تغيير قائمة ابدأ.vbs."
DimChangeStartMenu
تعيين ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
نوع_الاسم = "REG_DWORD"
Key_Data=1
StartMenu_Run = "NoRun"
StartMenu_Find = "NoFind"
StartMenu_Close = "NoClose"
التغيير الفرعي (الوسيطة)
ChangeStartMenu.RegWrite RegPath&وسيطة،Key_Data،Type_Name
MsgBox("النجاح!")
نهاية الفرعية
استدعاء التغيير (StartMenu_Run) 'تعطيل وظيفة "التشغيل" في قائمة "ابدأ"
استدعاء التغيير (StartMenu_Find) 'تعطيل وظيفة "البحث" في قائمة "ابدأ"
استدعاء التغيير (StartMenu_Close) 'تعطيل وظيفة "إيقاف تشغيل النظام" في قائمة "ابدأ"
4. قم بإضافة برنامج ذاتي التشغيل إلى Windows. يمكن تشغيل هذا البرنامج تلقائيًا عند تشغيل الكمبيوتر.
'AddAutoRunProgram.vbs
'افترض أن البرنامج موجود في المجلد c:myfile وأن اسم الملف هو autorun.exe
برنامج التشغيل التلقائي الخافت
تعيين AutoRunProgram=WScript.CreateObject("WScript.Shell")
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
نوع_الاسم = "REG_SZ"
Key_Name = "التشغيل التلقائي"
Key_Data = "C:Myfileautorun.exe"
'اسم ملف المسار الكامل لبرنامج التشغيل الذاتي
AutoRunProgram.Write RegPath&Key_Name،Key_Data،Type_Name
'أضف برنامج التشغيل الذاتي autorun.exe إلى مجموعة بدء التشغيل
MsgBox("النجاح!")