Сценарий завершения работы в Windows для удаления раздела реестра?
-
02-07-2019 - |
Вопрос
Редактировать: Ранее это было более четко озаглавлено:- "Лучшее решение, чтобы остановить автоматическую загрузку 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-файл, который может запускаться на любом компьютере (библиотека времени выполнения не требуется).