Code:
#NoEnv
#Persistent
SendMode Input
SetWorkingDir %A_ScriptDir%
DetectHiddenWindows, on
SetTitleMatchMode, 2
GuiWinTitle := "Poker Office (Does Not Break TOS)"
Gui, Show, W550 H300 Center, %GuiWinTitle%
Gui, Add, Edit, W300 vFolderTextBox, C:\Program Files\PokerStars\HandHistory\[Your SN goes here]
Gui, Add, Button, , Browse
Gui, Add, Edit, W75 vHowManyHands, 400
Gui, Add, Checkbox, vHandsCheckBox Checked1 gLookAtCheckBox, Hands in IHH
Gui, Add, Edit, w50 x110 y62 vDiffHands, 1700
GuiControl, Show, DiffHands
Gui, Add, Button, x10 y113, Single Grab
Gui, Add, Edit, W50 vTimerBox, 280
Gui, Add, Button, , Timer On
HotKey, IfWinExist, Instant Hand History
HotKey, Escape, EscapeSub, On
HotKey, IfWinNotExist, Instant Hand History
HotKey, Escape, ExitSub, On
Return
EscapeSub:
{
WinActivate, %GuiWinTitle%
GuiControl, Text, Button4, Timer On
Gui, Submit, Nohide
SetTimer, HandGrabber, Off
WinClose, Instant Hand History
Return
}
LookAtCheckBox:
{
Gui, Submit, NoHide
If HandsCheckBox = 1
{
GuiControl, Show, DiffHands
}
If HandsCheckBox = 0
{
GuiControl, Hide, DiffHands
}
}
Return
ButtonBrowse:
{
FileSelectFolder, HHFolder, C:\Program Files\PokerStars\HandHistory, 3
GuiControl, , FolderTextBox, %HHFolder%
}
Return
ButtonTimerOn:
{
Gui, Submit, Nohide
GuiControlGet, TimerButtonText, , Button4
If TimerButtonText = Timer On
{
GuiControl, Text, Button4, Timer Off
Gui, Submit, Nohide
If HandsCheckBox = 1
{
PGDNnumber := DiffHands//18 + 1
}
If HandsCheckBox = 0
{
PGDNnumber=100
}
HowLongTimer := TimerBox*1000//1
SetTimer, HandGrabber, %HowLongTimer%
Gosub, HandGrabber
}
Else
{
SetTimer, HandGrabber, Off
GuiControl, Text, Button4, Timer On
Gui, Submit, Nohide
}
Return
}
ButtonSingleGrab:
{
Gui, Submit, Nohide
SetTimer, HandGrabber, Off
If HandsCheckBox = 1
{
PGDNnumber := DiffHands//18 + 1
}
If HandsCheckBox = 0
{
PGDNnumber := HowManyHands//18 + 1
}
Gosub, HandGrabber
Return
}
Return
HandGrabber:
{
FormatTime, FileTime2,, MM-dd-yyyy_hh-mm-sstt
FileTime = %FileTime2%
FileAppend, , Stars-Hand-History_%FileTime%.txt
FileMove, Stars-Hand-History_%FileTime%.txt, %FolderTextBox%
IfWinExist, PokerStars Lobby
{
WinShow, PokerStars Lobby
WinActivate, PokerStars Lobby
WinMenuSelectItem, PokerStars Lobby, , Requests, Display Instant Hand History
WinMinimize, PokerStars Lobby
}
IfWinNotExist, PokerStars Lobby
{
WinGetTitle, StarsWinTitle, No Limit Hold'em ahk_class PokerStarsTableFrameClass, , Lobby
WinActivate, %StarsWinTitle%
WinWait, %StarsWinTitle%
SetMouseDelay, 0
MouseGetPos, CurrXZ, CurrYZ
Send {Click 60,42}
MouseMove, %CurrXZ%, %CurrYZ%
WinMinimize, %StarsWinTitle%
StarsWinTitle=""
}
WinWait, Instant Hand History
WinActivate, Instant Hand History
SetMouseDelay, 0
MouseGetPos, CurrX, CurrY
MouseMove, 81, 76
MouseGetPos, , , , AllTablesClass
SetMouseDelay, 0
MouseMove, 250, 250
MouseGetPos, , , , TableListClass
SetMouseDelay, 0
MouseMove, 88, 364
MouseGetPos, , , , HHBoxClass
MouseMove, %CurrX%, %CurrY%
WinMinimize, %GuiWinTitle%
WinMinimize, Instant Hand History
ControlSend, %AllTablesClass%, {PGUP 6}, Instant Hand History,
ControlSend, %TableListClass%, {PGDN %PGDNnumber%}, Instant Hand History,
Loop, %HowManyHands%
{
ControlGet, HHClass, HWND, , %HHBoxClass%, Instant Hand History
ControlGetText, HHText, , ahk_id %HHClass%,
FileAppend, %HHText%`r`n`r`n`r`n, %FolderTextBox%\Stars-Hand-History_%FileTime%.txt
ControlSend, %TableListClass%, {UP}, Instant Hand History,
}
WinClose, Instant Hand History
WinRestore, %GuiWinTitle%
WinActivate, %GuiWinTitle%
}
Return
GuiClose:
GoSub, ExitSub
Return
ExitSub:
{
ExitApp
Return
}
Return
I didn't make this. Not trying to take credit.