블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

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

반응형
Posted by blueasa
, |