2017-08-04 85 views
-1

我想发送一个键盘按键到活动窗口,例如使用python的A或Backspace键。我怎样才能做到这一点?如何将键盘按键发送到活动窗口?

我知道活动的窗口坐标(如果可以的话)。

+0

您好,欢迎StackOverflow上。请花些时间阅读帮助页面,特别是[Stack Overflow问题清单](http://meta.stackexchange.com/q/156810/204922)和[ask]部分。 –

回答

-1

执行此操作的Windows API方法是SendInput,它是User32库的一部分。它将键盘和鼠标输入发送到前​​景/活动窗口。 SendInput使用INPUT结构,具体称为KEYBDINPUT。它因为第一参数的细节,发送一个以上的输入的选择:在应答中指定有关此question

nInputs [IN]

Type: UINT 
The number of structures in the pInputs array. 

在Python使用SendInput的一个例子。

您使用MapVirtualKey功能为虚拟键码映射到一个扫描码

+1

[您无法使用(发布/发送)消息模拟键盘输入](https://blogs.msdn.microsoft.com/oldnewthing/20050530-11/?p=35513) –

+1

** SendInput ** - 但是,正确答案。 **不应该真正讨论SendMessage **,除非它是在发送WM_CHAR或WM_KEYDOWN/WM_KEYUP消息到窗口的上下文中。但是这些类型的黑客只会引起更多麻烦......因为并非所有的窗口都以相同的方式响应输入。我建议调整你的答案只是说SendInput函数。 – selbie

相关问题