将ahk转换为python

2024-04-19 01:24:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习autohotkey和python。我用ahk写了这个剧本(而且很有效!)自动加入扑克之星客户端中的表格(使用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模块的那一部分。谢谢!


Tags: 模块importsend键入deftype字母function
3条回答

还有AutoPy,一个用于此目的的跨平台库。

假设你在windows上工作(不要认为AHK运行在其他任何东西上),你应该签出sendkeys。这将使发送按键成为一件容易的事。如果你想让某些东西更健壮一点,看看pywinauto

对于快捷方式部分,请查看pyhook

我建议这些模块:

  • SendKeysCtypes,用于向窗口发送任何击键和快捷方式。 SendKeysCtypes是SendKeys的一个新的、更稳定的版本。我以前和发送密钥有过问题。

  • PYHK处理全局热键-接收热键和触发函数。 PYHK基于pyHook,使得热键注册非常简单。我写这篇文章是因为我和你有着完全相同的想法——我想用python来实现AHK功能。

  • 用于窗口处理(如移动大小调整)的win32gui。 我个人更喜欢用win32gui来完成简单的任务。我使用pywinauto完成更复杂的任务。例如,如果我必须访问程序中的菜单(如文件新建)。

  • mouse.py来控制鼠标。这是迄今为止我发现的最有力的方法。我使用的版本是在stackoverflow-ctypes鼠标事件中找到的模块的扩展。

我个人用python编写了几个扑克程序。我已经发布了我的小程序的源代码。你可以在我的网站schurpf.com/poker-software上找到它们的来源。

相关问题 更多 >