끄적끄적

반응형


IME_CHECK(WinTitle)

{

    WinGet,hWnd,ID,%WinTitle%

    Return Send_ImeControl(ImmGetDefaultIMEWnd(hWnd),0x005,"")

}


Send_ImeControl(DefaultIMEWnd, wParam, lParam)

{

    DetectSave := A_DetectHiddenWindows       

    DetectHiddenWindows,ON                          


     SendMessage 0x283, wParam,lParam,,ahk_id %DefaultIMEWnd%

    if (DetectSave <> A_DetectHiddenWindows)

        DetectHiddenWindows,%DetectSave%

    return ErrorLevel

}


ImmGetDefaultIMEWnd(hWnd)

{

    return DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)

}





● 특정 윈도우 (크롬)에만 사용하는 예제)


ret := IME_CHECK("ahk_exe chrome.exe")    ; 크롬 윈도우의 입력모드를 가져온다.


if (ret = 1)                     ; 한글입력 모드라면, (0이면 영문, 1이면 한글) 

Send, {vk15sc138}        ; 한영키를 눌러 영문입력 모드로 전환 

;MsgBox, 0, , 한글입력 모드, 1

else

{

;MsgBox, 0, , 영문입력 모드, 1

}



● 모든 윈도우에 적용하는 예제)


WinGetActiveTitle, 변수이름    ; 현재 활성화된 윈도우의 타이틀을 가져온다.

ret := IME_CHECK(변수이름)    ; 윈도우의 입력모드를 가져온다.


if (ret = 1)                     ; 한글 입력 모드라면, (0이면 영문, 1이면 한글) 

Send, {vk15sc138}        ; 한영키를 눌러 영문입력 모드로 전환 

;MsgBox, 0, , 한글입력 모드, 1

else

{

;MsgBox, 0, , 영문입력 모드, 1

}

반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]