我正在学习python,这就是我感兴趣的那种project。我不知道脚本是用什么语言编写的(可能是lisp或autohotkey?),但是我想将它转换为python。你能指点我正确的方向并告诉我
谢谢!
; Thois TableOpener for PokerStars v1.05
; Opens new cash game tables from the lobby every x seconds (if there are less tables opened than your predefined settings). A great tool for multi-tablers.
; Customize the variables below (between the lines)
; 'Thois' on PS for donations
; Customizable variables (between the lines)
;------------------------------------------
rowheight := 13 ;In the PokerStars lobby go to View > Text Size: For Medium & smaller:13, For smallest:12, For Larger:15, For Largest:17
recheck := 50 ;How often the script should open up new tables (if needed), 50=10seconds, 25=5seconds etc... Try not to set this too low for CPU performance issues
;------------------------------------------
Gui, Font, s8, Arial
Gui, Add, Text,, Number Of Tables:
Gui, Add, Edit
Gui, Add, UpDown, vnumberoftablestokeepopen Range1-24, 12
Gui, Add, Checkbox, venabledisable, Run!
Gui, Show,, Thois TableOpener for PokerStars v1.00
Gui, Submit, NoHide
numberofloopinstances := recheck - 1
Loop
{
Gui, Submit, NoHide
SendMessage, 0x115, 0, 0, PokerStarsListClass1, PokerStars Lobby
numberofloopinstances := numberofloopinstances + 1
if (numberofloopinstances = recheck)
{
numberofloopinstances := 0
WinGet, numberofwindows, Count, ahk_class PokerStarsTableFrameClass,,Lobby
beffen := numberoftablestokeepopen - numberofwindows
if (beffen > 0 AND enabledisable = 1)
{
Loop
{
ControlGet, tablesinthelobby, Hwnd, , PokerStarsListClass1, PokerStars Lobby
yclick := 1 + (rowheight * A_Index) - rowheight
PostLeftClick(1, yclick, tablesinthelobby)
ControlClick, PokerStarsButtonClass10, PokerStars Lobby
Sleep, 500
WinGet, numberofwindows, Count, ahk_class PokerStarsTableFrameClass,,Lobby
beffen := numberoftablestokeepopen - numberofwindows
if (beffen = 0)
{
break
}
}
}
}
Sleep, 200
}
; Hotkeys (disabled)
;~Xbutton1:: ;Endlessly cycles between all tables in the stack the cursor is pointing at (brings the front table to the back), disabled (remove ; marks to enable)
;MouseGetPos,,,tableID
;WinGetClass, classoftableid, ahk_id %tableID%
;if (classoftableid = "PokerStarsTableFrameClass")
; {
; WinSet, Bottom,, ahk_id %tableID%
; }
;return
;~Xbutton2:: ;Closes the table the mouse is pointing at (also clicks the OK warning button), disabled (remove ; marks to enable)
;MouseGetPos,,,tableID
;WinGetClass, classoftableid, ahk_id %tableID%
;if (classoftableid = "PokerStarsTableFrameClass");
; {
; WinClose, ahk_id %tableID%
; Sleep,20
; ControlClick, Button1, Table, OK
; }
;return
;Juks rocks - I deactivated WinActivate so that the Lobby doesnt steal focus
PostLeftClick(x, y, table_id, activate=1) {
; ### JUK: Send the down left click, then the mouse-up messages.
; NOTE: This is relative to the top left of the client area and NOT the top left of the
; window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!).
If activate
; WinActivate, ahk_id%table_id%
PostMessage, 0x201, 0x0001, ((y<<16)^x), , ahk_id%table_id%
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
}
GuiClose:
ExitApp
答案 0 :(得分:2)
毫无疑问,AutoHotKey。你需要转换它是:
您应该注意,AutoHotKey和Python 非常不同。 AutoHotKey是一个用于自动化鼠标和键盘,以控制其他程序的软件。这当然可以用Python做,但你做的方式取决于环境。如果没有外部库来帮助你,你可能无法做到这一点,因为Python是一种你主要编写程序的语言,而不是你用来控制现有程序的语言。
所以我怀疑你的转换努力是值得的。