※ 참고로 이 글은 AutoHotkey_L 유니코드 버젼에서만 적용됩니다. 유니코드버젼이 아니신 분들은 sendH함수를 사용하세요~
예전에 만든 함수가 너무 구려서 그나마 쓸만하게 수정해서 올립니다.
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)
}
sendE(sAnsiText)
{
ret := IME_CHECK("A")
if %ret% <> 0
{
Send {vk15sc138}
SendInput %sAnsiText%
Send {vk15sc138}
return
}
SendInput %sAnsiText%
return
}
사용법
sendE("메세지")
sendE(변수)
원리는 보면 알겠지만 걍 무식하게 한영 상태 체크하고 한타면 영타로 바꾼 뒤 텍스트를 입력하는 겁니다.
'프로그래밍 > AutoHotKey' 카테고리의 다른 글
[자작] 창 항상 위로 (2) | 2015.08.16 |
---|---|
[자작] 듀얼 모니터 사용 시 마우스 가두기, ClipCursor (5) | 2013.12.01 |
[자작] 자동 접두어&접미어 입력기 (0) | 2012.02.05 |
[자작] 스타 치트키 입력기 (6) | 2012.01.18 |
Hotstring (0) | 2011.02.26 |
오토핫키 GUI 기초 (2) | 2011.02.24 |
오토핫키 한영 입력 문제 해결 (유니코드 버전 X) (0) | 2011.02.24 |
ImageSearch (0) | 2011.02.24 |