Criando um arquivo de script para chamar um atalho que tem uma meta complexa e fechando a janela de caixa de diálogo End

0

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.

    
por John D Brown MD MPH 04.05.2017 / 18:16

0 respostas