我正在学习autohotkey和python。我在ahk中编写了这个脚本(并且工作正常!),它在pokerstars客户端中自动连接表(使用tableninja) -
^q::
Loop
{
Send q
Sleep 500
Send {PgUp}
Sleep 500
Send w
Sleep 60000
}
return
我想把它转换成python - 你能不能给我一个关于我可以使用哪些模块来实现这个目标的想法?
python脚本需要做的是(在循环时)键入一个字母(在已经打开的记事本上),向下两行,键入另一个字母,然后在重新开始之前等待一分钟。
我在想 -
import module to auto-type letters
import module that works as timer
def function
type letter q
enter
enter
def function
type letter w
def function
sleep
while True
function
function
function
我在教自己如何编码。我还没有达到关于python模块的部分。谢谢!
答案 0 :(得分:8)
假设您在Windows上工作(不要认为AHK在其他任何地方运行),您应该查看sendkeys。这将使发送击键变得轻而易举。如果你想要更健壮的东西,请看看pywinauto
对于快捷方式部分,请查看pyhook
答案 1 :(得分:7)
我建议这些模块:
SendKeysCtypes用于发送击键和向窗口发送快捷方式。 SendKeysCtypes是SendKeys的一个新的更稳定的版本。我过去遇到过SendKeys的问题。
PYHK处理全局热键 - 接收热键和触发器功能。 PYHK基于pyHook,使热键注册变得非常简单。我写它是因为我和你有完全相同的想法 - 我想在python中做AHK功能。
win32gui用于窗口处理,例如移动大小调整。 我个人更喜欢win32gui用于简短的任务。我使用pywinauto来完成更复杂的任务。例如,我必须访问程序中的菜单(如File-New)。
mouse.py来控制鼠标。这是迄今为止我发现的最强大的方法。我使用的版本是我在stackoverflow找到的模块的扩展 - ctypes mouse_events。
我亲自为python做了几个扑克程序。我已经发布了我的小程序的源代码。您可以在我的网站schurpf.com/poker-software上找到它们。
答案 2 :(得分:3)
还有AutoPy,这是一个用于此目的的跨平台库。