Сценарий завершения работы в Windows для удаления раздела реестра?

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

Вопрос

Редактировать: Ранее это было более четко озаглавлено:- "Лучшее решение, чтобы остановить автоматическую загрузку Kontiki KHOST.EXE при запуске Windows XP?"

По существу, всякий раз, когда 40D приложение запущено, оно настраивается 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) Остановленный 40D из панели задач с помощью щелкните правой кнопкой мыши > выход который положил конец Khost.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) Поставьте короткий путь к сценарию в моем Меню "Пуск" а теперь используйте это, чтобы выключить компьютер.

Сейчас 40D будет работать, когда мне это нужно, и все, что мне нужно сделать, это выйти из него и завершить работу с помощью скрипта, чтобы остановить его автоматический запуск при каждой загрузке компьютера.

СПАСИБО ЗА ВАШУ ПОМОЩЬ В ЭТОМ!:)

Почему бы просто не скопировать исполняемый файл под каким-нибудь другим именем и не поместить на его место ничего не делающий 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 для ваших нужд будет состоять из 2 строк:

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

И вы можете скомпилировать его в автономный exe-файл, который может запускаться на любом компьютере (библиотека времени выполнения не требуется).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top