Skip to content

Instantly share code, notes, and snippets.

@80ROkWOC4j
Created June 15, 2023 22:21
Show Gist options
  • Save 80ROkWOC4j/d3441c948a950e3b138fa19cc1cba8a7 to your computer and use it in GitHub Desktop.
Save 80ROkWOC4j/d3441c948a950e3b138fa19cc1cba8a7 to your computer and use it in GitHub Desktop.

SetWindowsHookEx(WH_GETMESSAGE, ...)로 IME 후킹 시도
그런데 Ime마다 메세지가 달라서 이걸 이용한 프로그램 제작은 사실상 어려워 보임
윈도우 Ime 버전별로 메세지가 다르고 날개셋 입력기도 또 다름
인터넷에 있는 한글 ime 후킹 관련 정보가 대부분 구식이라 참고 정도만 할 수 있고 실질적으로 쓰기 어려움

예시로 한자키를 눌러서 candidate mode 진입할때,
대부분의 정보는 WM_IME_NOTIFY의 wparam을 IMN_OPENCANDIDATE인지 체크하라고 하는데
날개셋의 경우 wparam으로 NI_OPENCANDIDATE가 넘어오는데 윈도우 구식 ime는 candidate mode가 종료될때 NI_OPENCANDIDATE가 호출된다던가
윈도우 새 ime는 TSF로 바꾼건지 의심 되는 값들은 체크 해봤는데 못찾겠고 그 외 CPS_REVERT 등 온갖 메세지가 그냥 제멋대로 뜸

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment