
一気に10個もポイントサイトを登録しちゃったからログインがやばいめんどくさい
UWSCを使って自動化してみた
■UWSCは便利
先日の記事で紹介したポイントサイトを楽しむのはいいが、ログインするだけでめちゃくちゃ時間がかかってしまう
そのため、煩雑なログイン作業を自動化してみた
ここで使ったのはWindows自動化で有名なUWSC (Umiumi Windows SCript)
無償版と有償版があるので、とりあえずは無償版で試してみた
■モッピーに自動ログイン
サンプルコードを見ながら、ログインスクリプトを作成
UWSCで実行するだけで、簡単にすばやくモッピーにログインすることが可能となった
// 変数定義,IDとPASSをtxtファイルから読み込み
fileID = FOPEN("ID_PASS.txt", F_READ)
ID = FGET(fileID, 1) // 1行目を変数に読み込む
PASS = FGET(fileID, 2) // 2行目を変数に読み込む
FCLOSE(fileID)
//IEを起動してモッピーのログインサイトを開く
try
IE = CreateOLEObj("InternetExplorer.Application")
except
EXEC("C:\Program Files\Internet Explorer\iexplore.exe")
IE = CREATEOLEOBJ("InternetExplorer.Application")
endTry
IE.visible = true
IE.Navigate("https://ssl.pc.moppy.jp/login/")
BUSYWAIT(IE)
SLEEP(0.5)
//画面の最大化
CTRLWIN(GETID("モッピー"), MAX)
CTRLWIN(GETID("モッピー"), ACTIVATE)
SLEEP(1)
//画面のサイズを指定する場合
//id = GETID"モッピー")
//ACW(id, 0, 0, 374, 768 )
//ログイン処理
IESETDATA(IE, ID, "mail")
IESETDATA(IE, PASS, "pass")
SLEEP(0.5)
IE.document.forms[0].submit()
BUSYWAIT(IE)
SLEEP(0.5)
DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32
CONST WM_ACTIVATE = $06
PROCEDURE BUSYWAIT(IE)
SLEEP(0.5)
CONST TIME_OUT = 60
tm = Gettime()
REPEAT
SLEEP(1)
ifb Gettime() - tm > TIME_OUT
break
endif
UNTIL (! IE.BUSY) AND (IE.READYSTATE=4)
SendMessageA(IE.Hwnd, WM_ACTIVATE, 0, 0)
SLEEP(0.5)
FEND
先日の記事で紹介したポイントサイトを楽しむのはいいが、ログインするだけでめちゃくちゃ時間がかかってしまう
そのため、煩雑なログイン作業を自動化してみた
ここで使ったのはWindows自動化で有名なUWSC (Umiumi Windows SCript)
無償版と有償版があるので、とりあえずは無償版で試してみた
■モッピーに自動ログイン
サンプルコードを見ながら、ログインスクリプトを作成
UWSCで実行するだけで、簡単にすばやくモッピーにログインすることが可能となった
// 変数定義,IDとPASSをtxtファイルから読み込み
fileID = FOPEN("ID_PASS.txt", F_READ)
ID = FGET(fileID, 1) // 1行目を変数に読み込む
PASS = FGET(fileID, 2) // 2行目を変数に読み込む
FCLOSE(fileID)
//IEを起動してモッピーのログインサイトを開く
try
IE = CreateOLEObj("InternetExplorer.Application")
except
EXEC("C:\Program Files\Internet Explorer\iexplore.exe")
IE = CREATEOLEOBJ("InternetExplorer.Application")
endTry
IE.visible = true
IE.Navigate("https://ssl.pc.moppy.jp/login/")
BUSYWAIT(IE)
SLEEP(0.5)
//画面の最大化
CTRLWIN(GETID("モッピー"), MAX)
CTRLWIN(GETID("モッピー"), ACTIVATE)
SLEEP(1)
//画面のサイズを指定する場合
//id = GETID"モッピー")
//ACW(id, 0, 0, 374, 768 )
//ログイン処理
IESETDATA(IE, ID, "mail")
IESETDATA(IE, PASS, "pass")
SLEEP(0.5)
IE.document.forms[0].submit()
BUSYWAIT(IE)
SLEEP(0.5)
DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32
CONST WM_ACTIVATE = $06
PROCEDURE BUSYWAIT(IE)
SLEEP(0.5)
CONST TIME_OUT = 60
tm = Gettime()
REPEAT
SLEEP(1)
ifb Gettime() - tm > TIME_OUT
break
endif
UNTIL (! IE.BUSY) AND (IE.READYSTATE=4)
SendMessageA(IE.Hwnd, WM_ACTIVATE, 0, 0)
SLEEP(0.5)
FEND
