0

是否可以wscript.shell用来发送 ALT+TAB ?

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

2 回答 2

3

我改用System.Windows.Forms.SendKeys

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

不知道为什么,但是 wscript.shell 不能与 %{TAB} 一起使用。

于 2018-10-22T05:19:10.090 回答
0

这是因为它不需要使用 % 或使用 \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,那么 StephenP 给你的是 PowerShell 的方式来做到这一点。

于 2018-10-22T07:41:08.680 回答