我正在尝试从'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自动关注窗口,这不是我想要的,如果可能的话,是否可以静默地向进程发送击键?
答案 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虽然我没有机会尝试它。