본문 바로가기
IT-개발,DB

[개발] 키보드상태 얻기(Ins ' Num Lock' Caps Lock)

by SB리치퍼슨 2010. 11. 5.

 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/

반응형

댓글