오토핫키 프로그램으로 한영전환하고, 코딩할때 한글영문 변수 입력할때 별도키로 실수 없이 한영 전환 하기

by DarkHunt posted Aug 04, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

; 오토핫키 프로그램을 통해 원격조정 프로그램에서 한영전환을 할수 있기 만들고, 코딩할때 한글영문 변수 입력할때, 한글 영어 각각 별도키를 지정하여 실수 없이 완벽하게 한영 전환 하는 프로그램
; http://www.autohotkey.co.kr/cgi/board.php?bo_table=freeboard&wr_id=22 여기 있는것을 약간 더 개조해서 사용함
; 영어모드 키보드 왼쪽 메뉴키
; 한글모드 키보드 왼쪽에 있는 Win키
home::Send, {vk15sc138}   ;  홈버튼으로 한영전환 휴대폰  접이식 블루투스 키보드의 경우 한영전환키랑  충복 충돌하며 문제가 됨에 따라 <--이거 추가함. 한영전환할때 fn버튼먼저누르고   home버튼을 누르고 home버튼을 땐후 나중에  fn버튼을 누르면  커서이동없이  한영전환 잘됨 . 또한  영문키보드 상태에서 한영 전환해야 에러가 없음. 브루투스 영문 상태인지 하단팝업 뜨는것을 잘 살펴볼것..
 +space::Send, {vk15sc138}   ; 쉬프트 + 스페이스 한영전환 <--이거 추가함.

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)
}


Rwin::
    ret := IME_CHECK("A")
    if %ret% = 0                 ; 0 영어
    {
        Send, {vk15sc138}  
    }
return

 

AppsKey::
    ret := IME_CHECK("A")
    if %ret% <> 0               ; 1 한글
    {
        Send, {vk15sc138}  
     }
return