오토핫키(AutoHotKey) 한/영 확인 및 자동변환 방법

오토핫키 메크로 기능을 사용하다 보면, 텍스트 입력시 한/영 상태 때문에 외계어가 나오는 경우가 발생합니다. 외계어를 방지하기 위해서는 한/영 상태를 확인 후, 자동으로 한영 상태를 변환해주는 스크립트가 필요합니다. 구글링을 해 보니 필자 외에도 많은 분들이 같은 문제로 고민한 흔적이 보입니다. 다행스럽게도 한/영 자동 변환 스크립트는 구글링을 통해 쉽게 찾을 수 있었습니다. 스크립트와 함께 출처를 첨부합니다.


 

스크립트 출처

http://autohotkey.kro.kr/220797742200

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("imm32ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
}
WinGetActiveTitle, ExplorerTitle

ime_status := % IME_CHECK("A")
if (ime_status = "0") {

} else {
Send, {vk15sc138}
}

“0”의 의미: 한/영 상태가 “A”
“1”의 의미: 한/영 상태가 “한”

 

즉,

한/영 상태가 A(영문)일 때, 아무것도 안 함
한/영 상태가 A(영문)이 아닐 때, 한영키 누름

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다