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

카테고리

분류 전체보기 (2731)
Unity3D (814)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (57)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (51)
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
03-28 00:02

C# SendMessage Keypress

Programming/C# / 2010. 12. 26. 23:45
#region Function Imports
 
       
[DllImport("user32.dll")]
       
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
 
       
[DllImport("user32.dll")]
       
static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
 
       
#endregion
 
       
#region Constants
 
       
// Messages
       
const int WM_KEYDOWN = 0x100;
       
const int WM_KEYUP = 0x101;
       
const int WM_CHAR = 0x105;
       
const int WM_SYSKEYDOWN = 0x104;
       
const int WM_SYSKEYUP = 0x105;
 
       
#endregion
 
       
public static void SendKey(string wName, Keys key)
       
{
           
IntPtr hWnd = FindWindow(null, wName);
 
           
SendMessage(hWnd, WM_KEYDOWN, Convert.ToInt32(key), 0);
           
SendMessage(hWnd, WM_KEYUP, Convert.ToInt32(key), 0);
       
}
 
       
public static void SendSysKey(string wName, Keys key)
       
{
           
IntPtr hWnd = FindWindow(null, wName);
 
           
SendMessage(hWnd, WM_SYSKEYDOWN, Convert.ToInt32(key), 0);
           
SendMessage(hWnd, WM_SYSKEYUP, Convert.ToInt32(key), 0);
       
}
 
       
public static void SendChar(string wName, char c)
       
{
           
IntPtr hWnd = FindWindow(null, wName);
 
           
SendMessage(hWnd, WM_CHAR, (int)c, 0);
       
}


반응형
Posted by blueasa
, |