将键击发送到未聚焦的进程pywinauto

时间:2018-06-12 05:55:13

标签: python-3.x pywinauto

我正在尝试从'a-z'发送常规键盘输入的击键,这可能包括或不包括方向箭头键到正在运行的游戏过程,但是我对pywinauto文档感到困惑:

我已经通过pid连接了现有流程:

from pywinauto.application import Application
from pywinauto.keyboard import SendKeys    
app = Application().connect(process=1234)
#app.SendKeys('a')? Doesn't seem to work

我已经阅读了其他一些答案,但是关于文档的下一步是什么并不是很清楚,没有任何真实的例子。

我还从其他一些答案中读到了SendKeys自动关注窗口,这不是我想要的,如果可能的话,是否可以静默地向进程发送击键?

1 个答案:

答案 0 :(得分:0)

时刻很少。如果游戏进程有自己的具有本机句柄的窗口,您可以尝试以下操作:

 app.window(title="Window title").send_keystrokes("something")
 app.window(title="Window title").send_chars("something")

它甚至可以用于最小化窗口。对于特殊符号可能会出现差异,这些符号可能对某些方法或某些方法都不起作用。但箭头可能适用于send_keystrokes

如果是DirectX游戏,发送密钥可能会更复杂。不久之前,我发现了一些关于潜在实现的参考文献:https://github.com/pywinauto/pywinauto/issues/469虽然我没有机会尝试它。

相关问题