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

从外部向windows应用程序发送输入,windows,powershell,gnu-screen,conemu,Windows,Powershell,Gnu Screen,Conemu,在Linux中,我可以在GNU screen会话中启动一个程序,然后使用screen的stuff命令从外部向它发送输入,该命令发送的字符与我在程序中键入的字符完全相同。我刚开始在Windows中开发,我想知道Windows中是否存在类似的功能?如果您不使用第三方应用程序,例如 自动转印机 有自动热键 而且相当复杂 Windows API SendMessage方法 这里最简单的似乎是powershell: [void] [System.Reflection.Assembly]::LoadWith

在Linux中,我可以在GNU screen会话中启动一个程序,然后使用screen的stuff命令从外部向它发送输入,该命令发送的字符与我在程序中键入的字符完全相同。我刚开始在Windows中开发,我想知道Windows中是否存在类似的功能?

如果您不使用第三方应用程序,例如 自动转印机 有自动热键 而且相当复杂 Windows API SendMessage方法

这里最简单的似乎是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

你为什么用ConEmu来标记你的问题?我正在使用的终端似乎功能非常丰富。我希望ConEmu能以某种方式支持这一点?Windows中的标准自动化基础设施是。您可以使用该工具检查任何给定的应用程序是否公开了所需的接口。谢谢,我现在有一些事情要尝试。