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
}
[오토핫키] 엑셀 관련해서 메모.. (0) | 2020.08.05 |
---|---|
[오토핫키] 웹크롤링, 파싱, 문자열처리 (0) | 2020.08.02 |
[오토핫키/소스] 키보드로 마우스 포인터 이동 (1) | 2018.09.18 |
[오토핫키/스크랩] ListBox(리스트박스)에 관련한 메모 (0) | 2018.09.06 |
[오토핫키/스크랩] 제목표시줄 제거 & 마우스로 창이동 가능하게 하는 법 (0) | 2018.09.05 |