如何将击键发送到隐藏窗口
本文关键字:隐藏 窗口 | 更新日期: 2023-09-27 18:26:20
我为CMD.EXE创建了一个隐藏窗口进程,如下所示:
// Create the process start window.
var processStartInfo = new ProcessStartInfo("cmd.exe", null);
// Set the options.
processStartInfo.UseShellExecute = false;
processStartInfo.ErrorDialog = false;
processStartInfo.CreateNoWindow = true;
processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
// Specify redirection.
processStartInfo.RedirectStandardError = true;
processStartInfo.RedirectStandardInput = true;
processStartInfo.RedirectStandardOutput = true;
// Create the process.
currentProcess = new Process();
然后,我自己通过重定向流处理所有输入/输出。但是,我希望"选项卡"显示自动完成数据。我已经尝试过将"''t"发送到输入流-没有乐趣。如果窗口可见,我在流程结构中有窗口句柄,可以将其设置为前台并使用"SendKeys"。但这是不能接受的,因为我需要隐形的窗户。
那么,有人知道如何向进程ID发送击键吗?
提前感谢!
代码项目中有一个项目可以满足您的需求。这是一个关于如何将密钥发送到另一个应用程序的教程。这确实需要是一个活动窗口。
我知道你的窗口需要不可见,可以选择将其移动到屏幕的可视区域之外吗?所以它仍然是可见的,但只是不在可视区域。
http://www.codeproject.com/Articles/18366/Sending-Keystrokes-to-another-Application-in-C
此外,你能直接启动一个进程而不是调用cmd.exe.吗
例如,调用ipconfig.exe而不是cmd.exe并发送ipconfig.exe击键。