Сценарий выключения в Windows для удаления раздела реестра?

Обновлено: Раньше это называлось более явно: - "Лучшее решение для предотвращения автоматической загрузки 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 или .летучая мышь или где я бы поместил их для автоматического запуска в подходящее время.

Я знаю, что есть Приложение TV On-Demand Monitor, но мне действительно не нужно запускать еще один процесс, мне просто нужно удалить ключи реестра, как я описал выше.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
6 415
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Почему бы просто не скопировать исполняемый файл под какое-то другое имя и поставить на его место исполняемый файл, который ничего не делает. Затем измените ярлыки на скопированный и переименованный EXE. Если программа чувствительна к своему имени, укажите ярлыки на файл VBS, чтобы временно переименовать файл EXE.

Ответ принят как подходящий

для сценария 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.

Что касается того, когда его запускать, если вы находитесь в корпоративной среде, вы можете использовать групповую политику и установить ее как сценарий выключения машины. В качестве альтернативы см. Эту страницу здесь о добавлении вручную

Другой способ:

Создайте файл VBS, который запускает программу, а затем удаляет ключи реестра.

Set objShell = CreateObject("WScript.Shell") 

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

strRoot = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunoD" 
strDelete = objShell.RegDelete(strRoot) 
...

И укажите на это свои ярлыки.

Должен ли я предложить вам попробовать AutoIt (http://www.autoitscript.com/autoit3/), бесплатный язык сценариев, предназначенный для автоматизации графического интерфейса Windows и общих сценариев.

Если вы решите использовать его, код AutoIt для вас будет двухстрочным:

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

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

Что я в итоге сделал:

1) Остановил 40D на панели задач с помощью щелкните правой кнопкой мыши> выход, который завершил процесс Khost.exe.

2) Открыл Начинать> Все программы> Инструменты управления> Услуги и остановил KService, затем установил Тип запуска на 'Руководство по эксплуатации'.

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\RunoD"

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 будет работать, когда мне это нужно, и все, что мне нужно сделать, это выйти из него и выключить скрипт, чтобы он не запускался автоматически каждый раз, когда я загружаю компьютер.

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

Другие вопросы по теме