Как использовать wscript.shell для ALT+Tab?

Можно ли использовать wscript.shell отправить ALT+TAB?

$wshell = New-Object -ComObject wscript.shell;
$wshell.SendKeys('\t')

2 ответа

Решение

Вместо этого я использую System.Windows.Forms.SendKeys.

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('%{TAB}')

Не знаю почему, но wscript.shell не работает с%{TAB}.

Это потому, что ему не нужно использовать% или использовать \t.

Пример:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad", 9 

' Give Notepad time to load
WScript.Sleep 500 

Dim Msg: Msg = "Hello, World!"

' Type in One Character at a time
For i = 1 To Len(Msg)
    WScript.Sleep 200
    WshShell.SendKeys Mid(Msg, i, 1)
Next

WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "^{HOME}"
WshShell.SendKeys "{TAB}"

Но так как все мы здесь любим PowerShell, то, что Стефан дал вам, это способ PowerShell сделать это.

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