한영 IME 변환
// 기본선언
[DllImport("imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hWnd);
[DllImport("imm32.dll")]
public static extern Boolean ImmSetConversionStatus(IntPtr hIMC, Int32 fdwConversion, Int32 fdwSentence);
// 영문 코드. 한글 코드는 다른듯
public const int IME_CMODE_ALPHANUMERIC = 0x0000;
// 변환 컨트롤을 집어넣고 처리.
// Form 컨트롤을 집어넣는게 가장 무난핟.
private void ChangeIME(System.Windows.Forms.Control ctl)
{
IntPtr context = ImmGetContext(ctl.Handle);
Int32 dwConversion = 0;
dwConversion = IME_CMODE_ALPHANUMERIC;
ImmSetConversionStatus(context, dwConversion, 0);
}
예) 새로운 폼 변수를 form으로 가정하고 작성.
단일폼에 작성하는 경우라면 Form_load 이벤트에서 this.Form을 하는것도 방법이겠죠
form.Show();
ChangeIME(form);
참고로 Winform과 PDA (WinCE)에서의 한영전환 참조는 다릅니다.
PDA는 이곳 참조하세요.
http://blog.daum.net/chunildongan77/17
[C#/PDA]키보드 IME MODE 변환 예제 소스
한글OS의 산업용 PDA에서 키보드의 입력 값을 기본으로 한글을 제공합니다. 그러나 프로그램을 개발하다보면 대부분 영문 또는 숫자를 사용해야 하는 경우가 자주 발생합니다. 그리고 값을 입력�
blog.daum.net