;Firefox でウェブサービスURL を開いてログインする
;Firefox でURL を開く
SetTitleMatchMode, 2
run, C:\Program Files (x86)\Mozilla Firefox\firefox.exe ログインするウェブサービスのURL ; ログインフォームを開く
sleep,1000
WinActivate, Mozilla Firefox ;Firefox をアクティブにする
sleep,3000
#IfWinActive, Firefox
; 自動ログイン
App_Login("ログインID","ログインパスワード")
return
#IfWinActive
ExitApp ; アプリを終了
Exit ; AHK を終了
; ウェブサービスのログイン情報を入力する
App_Login(Id, Password)
{
IME_OFF() ;IME がON なら、OFF にする
sleep,1000
;パスワード自動入力
send,%Id%
sleep,200
send,{tab}
sleep,200
send,%Password%
sleep,2000
send,{enter}
}
; ウインドウのIME を何が何でもOFF にする関数
IME_OFF()
{
;IME がON なら、OFF にする
If (IME_IsON(WinExist("A")))
{
IME_ON(WinExist("A"), False)
sleep,200
}
}
; ウインドウのIME がON かOFF かを調べる関数
IME_IsON(hWindow)
{
; WM_IME_CONTROL = 0x0283
; IMC_GETOPENSTATUS = 0x0005
bufCurrentDetectMode := A_DetectHiddenWindows
DetectHiddenWindows, On
buf := DllCall("user32.dll\SendMessageA", "UInt", DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow), "UInt", 0x0283, "Int", 0x0005, "Int", 0)
DetectHiddenWindows, %bufCurrentDetectMode%
Return buf
}
;ウインドウのIME をON、 OFF にする関数
IME_ON(hWindow, IsON)
{
; WM_IME_CONTROL = 0x0283
; IMC_SETOPENSTATUS = 0x0006
bufCurrentDetectMode := A_DetectHiddenWindows
DetectHiddenWindows, On
buf := DllCall("user32.dll\SendMessageA", "UInt", DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow), "UInt", 0x0283, "Int", 0x0006, "Int", IsON)
DetectHiddenWindows, %bufCurrentDetectMode%
Return buf
}