在特定窗口上执行Ctrl-C而不关注它

时间:2013-08-29 00:58:23

标签: c# c++ keyboard-events sendmessage

我有一个应用程序,我想发送Ctrl-C键组合。我正在尝试使用SendMesssage,但我知道应用程序使用GetKeyState和GetAsyncKeyState检查Ctrl-C组合,因此SendMessage非常无用......如何将Ctrl-C组合发送到此窗口而不调用 SetForegroundWindow(hWnd)?我需要一个解决方案,无需聚焦/带到窗前。

我暂时使用此代码(但需要关注):

SetForegroundWindow(hWnd);
SendKeys.SendWait("^(c)");

我正在使用C#,但C ++代码还可以。

1 个答案:

答案 0 :(得分:1)

很久以前,当我做Sys Admin自动化时...我使用了AutoIT。这已经很久了,但如果你不介意拿起他们的.dll ......

这是我使用的方法..它提到你可以直接发送到没有焦点的窗口/控件..在某些情况下你不能..

AutoIT ControlSend Method