微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

winapi – 如何将密钥笔划发送到窗口而不必使用Windows API激活?

我已经提出了一个应用程序,将命令发送到激活的窗口。我想在我的进程运行时能够使用计算机,因为只要我将焦点切换到另一个窗口,通过发送键发送的关键笔划将转到我刚刚切换到的窗口。

目前我从Windows API使用FindWindow,IsIconic和ShowWindow。我必须检查窗口是否与FindWindow在一起,并将我的对象设置为与该调用返回的特定窗口,然后检查它是否被IsIconic最小化并调用ShowWindow,如果是,然后最后我必须调用Interaction.AppActivate将焦点设置到该窗口。所有这一切都在我甚至发送关键笔划之前完成。似乎应该有一种方法来发送关键笔划,而不必显示窗口并激活它。最重要的是我的应用程序运行的关键笔划,我无法在我的电脑上做任何事情。

好的,这是令人失望的,我相信,但你从根本上不能这样做,100%的可靠性。

Windows假定活动窗口是获得键盘输入的窗口。伪造键盘输入的正确方法是使用SendInput,您会注意到它仅将消息发送到活动窗口。

话虽如此,您可以SendMessage WM_KEYUPWM_CHARWM_KEYDOWN消息(取决于WndProc接收它们)可能会消失。但记住,在某些情况下,它的going to break期间。

原文地址:https://www.jb51.cc/windows/372460.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐