Войти

Показать полную графическую версию : [решено] Как через vbs удалить программу из автозагрузки реестра?


angel_lyucifer
23-11-2018, 00:47
Здравствуйте знатоки, как через vbs удалить программу из автозагрузки реестра?

Вот ветка
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Вот параметр
YandexSearchBand
Вот значение
"C:\Program Files\MelcoSoft\Алиса 4.8.0\searchbandapp64.exe" /auto

Вот моя попытка написать маленький скрипт.
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegDelete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","YandexSearchBand","REG_SZ"
Но все равно не получается...

Iska
23-11-2018, 01:50
WScript.CreateObject("WScript.Shell").RegDelete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\YandexSearchBand"
если Вы уверены, что данный параметр наличествует в данном разделе. Если же таковой отсутствует — попытка исполнения кода вызовет ошибку. Чтобы это обойти — можно обрамить использование метода .RegDelete() командами On Error Resume Next/On Error Goto 0, но лучше воспользоваться возможностями стандартного провайдера Wbem StdRegProv, наподобие:
WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default")_
.Get("StdRegProv").DeleteValue _
&H80000001, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "YandexSearchBand"

Busla
23-11-2018, 12:41
Iska, лучше забыть про vbs и писать на jscript где есть вменяемый try-catch

megaloman
23-11-2018, 12:57
Busla, а чем не устраивает в vbs On Error ?
Кстати, Iska это предлагал.

Iska
23-11-2018, 16:50
megaloman, тем, что он не вменяемый. Тут я должен с коллегой Busla согласиться целиком и полностью. Другое дело, что этот и прочие минусы VBScript в моём понимании никак не перевешивают удобство работы по сравнению с JScript.

angel_lyucifer
24-11-2018, 05:05
Спасибо....




© OSzone.net 2001-2012