Sou um entusiasta do computador novato moderadamente educado e sou educado remotamente em vbscript e preciso de ajuda. Aqui está a ordem dos eventos ...
Eu usei o Winaero Tweaker no meu PC (executando o Windows 10 Home) para criar um atalho elevado para um CD virtual executando um programa de desbloqueio para o meu WD Passport Drive.
Normalmente, clico em um atalho para o programa na unidade, digito "sim" para o UAC e, em seguida, clico na janela final informando que a unidade está desbloqueada. O atalho elevado de Winaero funciona lindamente, exceto que deixa a janela final aberta.
Aqui está o alvo:
C:\WINDOWS\system32\cmd.exe /c start "" schtasks.exe /run /tn "WD Drive Unlock.exe_-943894699"
Então, eu pensei que eu poderia tentar um script VB chamando o atalho, então simplesmente digitando {esc} ou ~ para fechar a janela. Simples. NÃO. Não consigo fechar a janela, God Save the Queen.
Minha tentativa usando o atalho elevado ( H-IT.lnk
):
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\USERS\OWNER\DESKTOP\H-IT.lnk" & Chr(34), 0
WScript.Sleep 1500
WshShell.AppActivate "wd drive"
WshShell.SendKeys "{esc}"
Set WshShell = Nothing
Isso executa o atalho assim como o atalho executa o atalho, mas a janela do programa resultante intitulada "WD Drive Unlocked" permanece aberta (assim como o atalho).
Então, eu pensei, por que não utilizar o alvo do atalho e contornar o atalho todos juntos ... para mim um pesadelo da meia-noite. Aqui está a minha tentativa embaraçosa (introdução ao VB há 20 anos):
E minha tentativa de contornar o atalho:
Set WshShell = WScript.CreateObject("WScript.Shell")
Command = "%WINDIR%\cmd.exe /c start ""schtasks.exe /run /tn ""WD Drive Unlock.exe_-943894699""
WshShell.Run command
WScript.Sleep 1500
WshShell.AppActivate "wd drive"
WshShell.SendKeys "{esc}"
Set WshShell = Nothing:
Eu não me importo com a programação; Eu só quero desbloquear minha unidade em um clique sem UAC e sem restos de diálogo.
Tags command-line windows windows-10 uac