برنامج نصي لإيقاف التشغيل على نظام التشغيل Windows لحذف مفتاح التسجيل؟

StackOverflow https://stackoverflow.com/questions/111097

سؤال

يحرر: وكان هذا في السابق بعنوان أكثر وضوحا:- "أفضل حل لإيقاف تحميل KHOST.EXE الخاص بـ Kontiki تلقائيًا عند بدء التشغيل على نظام التشغيل Windows XP؟"

في الأساس، كلما 40 د يتم تشغيل التطبيق وإعداده khost.exe لبدء التشغيل تلقائيًا مع Windows.هذا أمر مزعج لأنه يزيد من وقت التمهيد الخاص بي ببضع دقائق ولا أستخدم حتى جانب P2P الخاص بـ 4OD على أي حال.

مفاتيح التسجيل التي تم تعيينها هي:

Command: C:\Program Files\Kontiki\KHost.exe -all
Description: kdx
Location: HKU\S-1-5-21-1757981266-1960408961-839522115-1003\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Name: kdx
Setting ID:
User: LAPTOP\Me

Command: "C:\Program Files\Kontiki\KHost.exe" -all
Description: 4oD
Location: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Name: 4oD
Setting ID:
User: All Users

أفترض نوعا ما بدء أو اغلق النصي سيكون حذف مفاتيح التسجيل هذه هو الحل الأفضل، لكنني لا أوافق على ذلك .vbs أو .مضرب البرمجة النصية أو حيث أضعها للتشغيل تلقائيًا في الوقت المناسب.

أعلم أن هناك أ تطبيق مراقبة التلفاز عند الطلب, ، لكنني لا أحتاج حقًا إلى تشغيل عملية أخرى، أحتاج فقط إلى حذف مفاتيح التسجيل كما هو موضح أعلاه.

هل كانت مفيدة؟

المحلول

بالنسبة للبرنامج النصي vb، يمكنك استخدام شيء مثل هذا:

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
'repeat the line below for each key to delete 
WSHShell.RegDelete "[Location of Key]"

ما عليك سوى إسقاط الكود في ملف نصي وإعادة تسميته مثل Shutdown,vbs.

أما بالنسبة لوقت تشغيله، إذا كنت في بيئة شركة، فيمكنك استخدام سياسة المجموعة وتعيينها كبرنامج نصي لإيقاف تشغيل الجهاز.بدلا من ذلك، راجع هذه الصفحة هنا حول إضافتها يدويا

نصائح أخرى

ما انتهى بي الأمر إلى فعله في النهاية:

1) توقفت 40 د من علبة المهام مع انقر على اليمين > مخرج الذي أنهى خوست.exe عملية.

2) افتتح يبدأ > كل البرامج > الأدوات الإدارية > خدمات وتوقف خدمة ك ثم قم بتعيين نوع بدء التشغيل ل 'يدوي'.

3) إبتكرت ShutdownScript.vbs بالمحتوى التالي:

Set SH = CreateObject("WScript.Shell")

RemoveRegKey "HKU\S-1-5-21-1757981266-1960408961-839522115-1003\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\kdx"
RemoveRegKey "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\kdx"
RemoveRegKey "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\4oD"

Shutdown

Set Shell = Nothing
Set SH = Nothing
WScript.Quit

Sub RemoveRegKey(sKey)
    On Error Resume Next
    SH.RegDelete sKey
End Sub

Sub Shutdown()
    SH.Run "shutdown -s -t 1", 0, TRUE
End Sub

4) ضع أ الاختصار إلى البرنامج النصي في بلدي قائمة البدأ والآن استخدم ذلك لإغلاق جهاز الكمبيوتر.

الآن 40 د سيعمل عندما أحتاج إليه، وكل ما علي فعله هو إنهاء البرنامج وإيقاف تشغيله باستخدام البرنامج النصي لإيقاف تشغيله تلقائيًا في كل مرة أقوم فيها بتشغيل جهاز الكمبيوتر.

شكرا لجميع التعليمات الخاصة بك مع هذا!:)

لماذا لا تقوم فقط بنسخ الملف القابل للتنفيذ إلى اسم آخر، ووضع ملف exe الذي لا يفعل شيئًا في مكانه.ثم قم بتغيير الاختصارات الخاصة بك إلى ملف EXE المنسوخ والمعاد تسميته.إذا كان البرنامج حساسًا لاسمه، فقم بتوجيه اختصاراتك إلى ملف VBS لإعادة تسمية ملف EXE مؤقتًا.

طريقة اخرى:

قم بإنشاء ملف VBS يقوم بتشغيل البرنامج ثم يقوم بحذف مفاتيح التسجيل.

Set objShell = CreateObject("WScript.Shell") 

objShell.Exec("C:\Program Files\Kontiki\KHost.exe")

strRoot = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\4oD" 
strDelete = objShell.RegDelete(strRoot) 
...

وأشر إلى اختصاراتك في ذلك.

هل يجب أن أقترح عليك تجربة AutoIt (http://www.autoitscript.com/autoit3/)، وهي لغة برمجة نصية مجانية مصممة لأتمتة واجهة المستخدم الرسومية لنظام التشغيل Windows والبرمجة النصية العامة.

إذا اخترت استخدامه، فسيكون رمز AutoIt الخاص باحتياجاتك مكونًا من سطرين:

RegDelete("YourKey", "YourValue");
ShutDown(1);

ويمكنك تجميعه في ملف exe مستقل يمكن تشغيله على أي جهاز كمبيوتر (لا حاجة إلى مكتبة وقت التشغيل)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top