VC MFC 发送模仿键盘消息!

VC MFC 发送模仿键盘消息!

1.单键消息

if(QCWnd->GetSafeHwnd())
{
QCWnd->ShowWindow(SW_NORMAL);
QCWnd->SetForegroundWindow();
keybd_event(xx,MapVirtualKey(xx,0),KEYEVENTF_KEYUP,0);  
keybd_event(xx,MapVirtualKey(xx,0),0,0);  
}

代码说明QCWnd为发送目标的CWnd类.可以由API 的窗口句柄HWND转换(CWnd::FromHandle(HWND)),也就是说知道窗口的HWND就可以发送了.

把xx换成要发送键的ASCII值,例如发送'A',xx=65;F1 xx=112.

2.发送组合键消息

if (QCWnd->GetSafeHwnd())
{
QCWnd->ShowWindow(SW_NORMAL);
QCWnd->SetForegroundWindow();
keybd_event(VK_MENU,0,0,0);      
keybd_event('I',0,0,0);      
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);      
keybd_event('I',0,KEYEVENTF_KEYUP,0);
}

上面代码是发送Alt+I ;VK_MENU是Alt的WINUSER.H标识符.I字符换成对应值了就可以!例如Ctrl为VK_CONTROL

 

 

 

 


ESC键   VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键:   VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ($10)
Ctrl键: VK_CONTROL (17)
Alt键:   VK_MENU (18)
空格键: VK_SPACE ($20/32)
退格键: VK_BACK (8)
左徽标键: VK_LWIN (91)
右徽标键: VK_LWIN (92)
鼠标右键快捷键:VK_APPS (93)

Insert键: VK_INSERT (45)
Home键: VK_HOME (36)
Page Up: VK_PRIOR (33)
PageDown: VK_NEXT (34)
End键:   VK_END (35)
Delete键: VK_DELETE (46)

方向键(←): VK_LEFT (37)
方向键(↑): VK_UP (38)
方向键(→): VK_RIGHT (39)
方向键(↓): VK_DOWN (40)


F1键:   VK_F1 (112)
F2键:   VK_F2 (113)
F3键:   VK_F3 (114)
F4键:   VK_F4 (115)
F5键:   VK_F5 (116)
F6键:   VK_F6 (117)
F7键:   VK_F7 (118)
F8键:   VK_F8 (119)
F9键:   VK_F9 (120)
F10键:   VK_F10 (121)
F11键:   VK_F11 (122)
F12键:   VK_F12 (123)


Num Lock键: VK_NUMLOCK (144)
小键盘0: VK_NUMPAD0 (96)
小键盘1: VK_NUMPAD0 (97)
小键盘2: VK_NUMPAD0 (98)
小键盘3: VK_NUMPAD0 (99)
小键盘4: VK_NUMPAD0 (100)
小键盘5: VK_NUMPAD0 (101)
小键盘6: VK_NUMPAD0 (102)
小键盘7: VK_NUMPAD0 (103)
小键盘8: VK_NUMPAD0 (104)
小键盘9: VK_NUMPAD0 (105)
小键盘.: VK_DECIMAL (110)
小键盘*: VK_MULTIPLY (106)
小键盘+: VK_MULTIPLY (107)
小键盘-: VK_SUBTRACT (109)
小键盘/: VK_DIVIDE (111)


Pause Break键: VK_PAUSE (19)
Scroll Lock键: VK_SCROLL (145)

 

你可能感兴趣的:(VC MFC 发送模仿键盘消息!)