c# - 在特定窗口上执行 Ctrl-C 而不聚焦它

标签 c# c++ keyboard-events sendmessage

我有一个应用程序,我想向其发送 Ctrl-C 组合键。我正在尝试使用 SendMesssage,但我知道应用程序使用 GetKeyStateGetAsyncKeyState 所以 SendMessage 非常无用...我如何将 Ctrl-C 组合发送到此窗口 不调用 SetForegroundWindow(hWnd)?我需要一个无需聚焦/带到窗前即可工作的解决方案。

我暂时使用这段代码(但需要重点):

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

我正在使用 C#,但 C++ 代码没问题。

最佳答案

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

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

AutoIT ControlSend Method

关于c# - 在特定窗口上执行 Ctrl-C 而不聚焦它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18500702/

相关文章:

c# - 属性更改时在ViewModel中执行方法

c# - 如何为大文件正确配置 HttpClient 的流?

c++ - 错误 : could not convert 'p1' from 'Person (*)()' to 'Person'

java - 同时使用按键事件和鼠标事件

c# - C#中如何获取组合键

c# - 如何在 WPF 中对可编辑组合框应用拼写检查

c++ - 如何根据 X 坐标(QWT)获取绘图曲线的 Y 坐标?

c++ - 在可移植 C++ 应用程序上使用相对文件路径

android - 在 Activity 中的任意位置键入以在 android 中打开 edittext View

c# - Azure Functions 中的 DbContext 池