http://blog.naver.com/tear230/100003039681
지금 키보드입력이 삽입상태인지 수정상태인지, Caps Lock이 켜져 있는지 꺼져있는지를
GetKeyState API를 이용 알아내는 방법입니다.
MFC가 그랬듯이 .NET Library가 Windows API를 완전히 표현하고 있지는 않는 것 같습니다.
그러나 C#에서 Unmanaged Code를 사용할 수 있으니까 Windows API를 직접 사용하면 되겠지요.
using System.Runtime.InteropServices;
...
[DllImport("User32.dll")]
public static extern int MessageBox(int h, string m, string c, int type);
[DllImport("User32.dll")]
public static extern short GetKeyState(int nVirtualKey);
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
if ((GetKeyState(0x15) & 0x01) == 0x01) MessageBox(0, "Hangul Key", "Sunken", 0);
if ((GetKeyState(0x14) & 0x01) == 0x01) MessageBox(0, "CapsLock Key", "Sunken", 0);
if ((GetKeyState(0x90) & 0x01) == 0x01) MessageBox(0, "NumLock Key", "Sunken", 0);
}
자료출처 : http://www.devpia.com/
'IT-개발,DB' 카테고리의 다른 글
[개발] 스레드(Thread) 사용 (0) | 2010.11.05 |
---|---|
[개발] Timer 클래스 (System.Windows.Forms.Timer) (0) | 2010.11.05 |
[개발] 익스플로러의 프린터설정(머리글,바닥글,여백) 변경하기 (0) | 2010.11.05 |
[개발] Environment Class : 현재환경 및 플랫폼 정보 및 조작 (0) | 2010.11.05 |
[개발] Visual C# .NET에서 프로그래밍 방식으로 전자 메일 보내기 (0) | 2010.11.05 |
댓글