// LINEログイン.uws // 設定情報 line_exe = "C:\Users\hogehoge\AppData\Local\LINE\bin\current\LINE.exe" username = "hogehoge@gmail.com" password = "piyopiyopiyo" // LINEプログラムを起動 EXEC(line_exe); // 少し待機 (LINEの起動を待つ) SLEEP(5) // ウィンドウID取得 DIM id = GETID("LINE", "Qt663QWindowIcon") // エディットボックスが2個ならログイン画面とみなす DIM res = GETITEM(id, ITM_EDIT, -1) IFB res <> 2 THEN // MSGBOX("ログイン画面ではない") EXIT ENDIF // ログイン情報入力 SENDSTR(id, username, 1, TRUE) SENDSTR(id, password, 2, TRUE) // Enterキーを押下 KBD(VK_ENTER)
ウィンドウIDの取得
タイトルは "LINE"、クラスは "Qt663QWindowIcon" なのはとりあえず固定っぽい
ログイン画面かどうかの判定
ITM_EDITが2個のときはログイン画面と判定している(適当)
ログイン後はITM_EDITは1個(検索窓)のみとなる
あとは、ログイン画面では ITM_LIST が0個で ログイン後はたくさん になるのも判定材料になりそう
Enterキーを押下
ログインボタンはボタンでは無かったので、キーの送信で代用する