심심해서 만들어봤어요. 조회간격을 짧게하면 쓸데없는 트랙픽만 증가하므로 60초를 기본으로 줘봤어요.
#SingleInstance Force
Gui, Add, Text, x22 y30 w70 h20 , 아이디
Gui, Add, Edit, xp+80 y25 w150 h20 vID,
Gui, Add, Text, x22 y60 w70 h20 , 패스워드
Gui, Add, Edit, xp+80 y55 w150 h20 Password vPassword,
Gui, Add, Text, x22 y90 w70 h20 , 갱신간격(초)
Gui, Add, Edit, xp+80 y85 w150 h20 number vInterval, 60
Gui, Add, Button, x112 y120 w130 h30 gStart, 자동갱신 시작
Gui, Add, Text, x22 y170 w270 h30 vInfo,
Gui, Show, w270 h221, 테일스타 내 포인트 조회
return
GuiClose:
ExitApp
Start:
Gui, submit, NoHide
if Interval<10
Interval = 10
Interval *= 1000
Gosub, update
SetTimer, Update, %Interval%
return
Update:
if !pwb
pwb := Login(Id, Password)
pwb.navigate( "http://tailstar.net/index.php?act=dispMemberInfo" )
sleep, 500
While (pwb.ReadyState != 4)
continue
html := pwb.Document.documentElement.innerHTML
StringReplace, html, html, `r,, All
RegExMatch(html, "닉네임</DT>\n<DD>(.*?)</DD>.*?<DT>회원 그룹</DT>\n<DD>(.*?)</DD>.*?<DT>포인트</DT>\n<DD>(.*?)</DD>", $)
GuiControl,, Info, % $1 ", " $2 ", " $3
return
Login(id, password, timeover=5000)
{
pwb:= ComObjCreate( "InternetExplorer.Application" )
pwb.navigate( "http://tailstar.net/index.php?mid=main&act=dispMemberLoginForm" )
pwb.Visible := True
tick_start := A_TickCount
While (pwb.ReadyState != 4)
{
if (A_TickCount-tick_start > timeover)
return 0
continue
}
pwb.document.getElementById( "uid" ).value := id
pwb.document.getElementById( "upw" ).value := password
pwb.document.getElementById("fo_member_login").submit()
sleep, 500
While (pwb.ReadyState != 4)
continue
return pwb
}