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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/windows/372460.html

猜你在找的Windows相关文章