키보드상태 얻기(Ins ' Num Lock' Caps Lock)
지금 키보드입력이 삽입상태인지 수정상태인지, 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/
[출처] 키보드상태 얻기(Ins ' Num Lock' Caps Lock)|작성자 앤시스
'Programming > C#' 카테고리의 다른 글
Handling Application Events: On Idle (0) | 2010.06.28 |
---|---|
GDI+ 객체로 그리기할 때 화면 깜박임 줄이기 - 더블 버퍼링 (3) | 2010.06.25 |
C#에서 실행 경로(또는 현재 경로)를 알아내는 방법 (1) | 2010.06.10 |
각종 윈도우 영역 크기 얻기... (0) | 2010.06.03 |
윈폼 자석윈도우 만들기(바탕화면 가장자리에 붙도록~) (0) | 2010.06.03 |