Programming/C#

키보드상태 얻기(Ins ' Num Lock' Caps Lock)

blueasa 2010. 6. 25. 17:44

지금 키보드입력이 삽입상태인지 수정상태인지, 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/

반응형