从外部向Windows应用程序发送输入

时间:2017-01-31 10:16:28

标签: windows powershell gnu-screen conemu

在Linux中,我可以在GNU屏幕会话中启动一个程序,然后使用屏幕的stuff命令从外部向它发送输入,该命令发送的字符就像我在程序中键入它们一样。我是Windows的新手,我想知道Windows中是否存在类似的功能?

1 个答案:

答案 0 :(得分:1)

如果您不使用第三方应用,例如
AutoIT
AutoHotKey 有中 vbscript sendkeys而且相当复杂 Windows API SendMessage方法。

这里最简单的似乎是Converting the Windows Script Host SendKeys Method(对于powershell):

[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::AppActivate("Test.ps1 - Notepad")

[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("{F1}")

要评估您可以使用的AppActivate的窗口标题:

Get-Process|Where{$_.Mainwindowtitle}|select processName,Mainwindowtitle