티스토리 뷰

728x90

ESC 클릭시에 한영 전환되도록 설정하는 스크립트는 많이 존재하는데 특정 프로그램 실행 중에만 한영 전환 되도록 하는 스크립트를 찾을 수 없어 해당 코드를 공유하고자 합니다.

 

#If WinActive("ahk_exe notepad.exe") OR WinActive("ahk_exe notepad++.exe") OR WinActive("ahk_exe Code.exe") OR WinActive("ahk_exe studio64.exe") OR WinActive("ahk_exe idea64.exe") OR WinActive("ahk_exe webstorm64.exe")
$Esc::
    if(IME_CHECK("A"))
        Send, {VK15}
    Send, {Escape}
    return
#If

/*
  IME check 
*/
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)
}

 

Ctrl + Shift + ESC를 눌러 작업 관리자에 들어가 추가하고자 하는 프로그램 우클릭 -> 속성으로 정확한 프로그램 이름을 확인합니다. case sensitive하므로 정확한 이름 확인을 해야합니다.

 

 

확인 한 이후에 OR WinActive("ahk_exe webstorm64.exe")로 계속 붙여나가면서 추가하면 됩니다. 이 방법이 조금 지저분하다면 다음과 같은 코드를 사용해도 무방합니다. #If WinActive가 아닌 #IfWinActive라는 점에 주의해주세요.

SetTitleMatchMode, REGEX
#IfWinActive ("ahk_exe idea64.exe")|("ahk_exe webstorm64.exe")
...
#IfWinActive

 

출처

https://www.autohotkey.com/boards/viewtopic.php?t=71714 

 

#If WinActive() shorthand? - AutoHotkey Community

Home Board index AutoHotkey Ask for Help Search It is currently 12 Jan 2023, 11:11 All times are UTC-05:00 Get help with using AutoHotkey and its commands and hotkeys leo007 Posts: 50 Joined: 26 Oct 2019, 04:56 Report this post @ Quote 18 Jan 2020, 04:30 H

www.autohotkey.com

 

'etc > Vim' 카테고리의 다른 글

LunarVim 설치 가이드  (0) 2023.06.23
neovim에서 dap 세팅하기 (자바스크립트)  (0) 2023.06.23
웹서핑을 키보드로만 해보자 (Vimium)  (0) 2022.12.05
Vim 상황별 단축키 정리  (0) 2022.12.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함