主题:如何用sendmessage函数模拟2个键同时按下?如(alt + a)
逍遥剑
[专家分:40] 发布于 2005-07-02 10:33:00
同上
回复列表 (共2个回复)
沙发
zlhhz [专家分:710] 发布于 2005-07-20 10:42:00
当有多个键(N个)同时按下时,窗口过程实际上收到多条(N条)按键消息WM_KEYDOWN或者WM_SYSKEYDOWN,所以要模拟多个键同时按下只要按按键的次序依次发送多条WM_KEYDOWN或者WM_SYSKEYDOWN消息就行。(当有alt键按下时将产生WM_SYSKEYDOWN)
alt+a可以这样发送:
SendMessage(hwnd,WM_SYSKEYDOWN,VK_MENU,0);
SendMessage(hwnd,WM_SYSKEYDOWN,VK_A,0);
shift+a可以这样发送:
SendMessage(hwnd,WM_KEYDOWN,VK_SHIFT,0);
SendMessage(hwnd,WM_KEYDOWN,VK_A,0);
ctrl+a可以这样发送:
SendMessage(hwnd,WM_KEYDOWN,VK_CONTROL,0);
SendMessage(hwnd,WM_KEYDOWN,VK_A,0);
或者
SendMessage(hwnd,WM_CHAR,1,0);
板凳
vrace [专家分:3590] 发布于 2005-07-25 11:27:00
尝试使用
keydb_event 函数
我来回复