|
bool __fastcall TMouseKeyControlServer::GetHanMode(void)
{
unsigned long Conversion, Sentence;
HIMC Mode = ImmGetContext(GetFocus());
ImmGetConversionStatus(Mode, &Conversion, &Sentence);
return (Conversion == IME_CMODE_HANGEUL);
}
밑에 보니 위의 함수를 사용하여 한/영의 상태를 알 수 있는데요
HIMC Mode = ImmGetContext(Application->Handle);
이렇게 하면 제가 짠 프로그램의 핸들 값을 가져오기 때문에..
소용이 없더라구요..그래서 저 GetFocus()라는걸 써봤는데..
역시나 가져올 수 있는건 현재 실행된 프로그램내에서의 값이더라구요..ㅡ.ㅡ
음..그러니까 제가 할려고 하는것이요
C++빌더로 A라는 프로그램을 짰는데요..
바탕화면에는 메모장을 2개 띄웠어요..
1번 메모장의 IME상태는 한글이구요
2번 메모장의 IME상태는 영문이구요...
A라는 프로그램의 실행시키면요..
만약 1번 메모장이 활성화 되어 있을때는 1번메모장의 IME상태를 알고 싶구오
2번 메모장이 활성화 되어 있을때는 2번메모장의 IME상태값을 얻으려고 하거든요..
HIMC Mode = ImmGetContext(GetFocus());
이분문에서 ^^^^^^^^^ 이부분에 선택된 메모장의 핸들을 넣어주면
될것 같은데요...그 선택된 메모장의 핸들을 얻어 올 수 있는 방법이 없는지요..
(아..질문이 너무 난잡하네요..죄송합니다. 지금 제머리속도 엉망징창이라서..ㅜ.ㅜ)
방법을 아시는 분은 도움좀 주세요..ㅜ.ㅜ
|