如何使用wscript.shell转换为ALT + Tab?

时间:2018-10-22 04:39:09

标签: powershell windows-scripting comobject wscript.shell

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

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

2 个答案:

答案 0 :(得分:3)

我改用System.Windows.Forms.SendKeys

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

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

答案 1 :(得分: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的方式。