假设我已经安装了 http://technet.microsoft.com/en-us/sysinternals/cc817881
我希望能够使用 win32 api 发送消息,但目标是第二个虚拟桌面,而我将留在第一个虚拟桌面上。
如何在 C# 中做到这一点?
更新:对于上下文,我想要的是在我在第一个桌面上工作时在驻留在第二个虚拟桌面中的应用程序上以定期间隔在后台自动执行手动任务。
最佳答案
SendKeys
和 SendMessage
是非常不同的东西。完全不清楚您使用的是哪一个。
你不能用SendKeys
“定位”任何东西。在 Windows 中唯一可以接收键盘和鼠标输入的实体是具有焦点的窗口。由于虚拟桌面上显示的内容不会获得焦点,因此您不能这样做。
但是您可以使用 SendMessage
function将窗口消息发送到您希望的任何窗口。 SendMessage
函数接受相关窗口的句柄作为其第一个参数 (HWND
)。该窗口是聚焦的、事件的、显示的、虚拟桌面上的还是其他什么都没有关系。
关于c# - 如何在 C# 中使用 sendkey 消息定位虚拟桌面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769908/