如果模拟键盘按上ALT + 字符键(如ALT + D )

如果模拟键盘按下ALT + 字符键(如ALT + D )
用了这个方法,PostMessage(CBHwnd,WM_KEYDOWN, VK_LMENU + VK_D, 0)
一直调试不通过,也就是没有起到作用。

不能用keybd_event,因为可能发送的消息窗体不是当前活动的窗体。谢谢

------解决方案--------------------
KeybdEventEx(18,0,0,0);
KeybdEventEx(ord('D'),0,0,0);
sleep(10);
KeybdEventEx(ord('D'),,0,KEYEVENTF_KEYUP,0);
KeybdEventEx(18,0,KEYEVENTF_KEYUP,0);
------解决方案--------------------
你直接用delphi提供的IntToHex就好,我那个是在这个基础上改的,改了个高位补0的动作,有时候要补0有时补F或其他,这里补0就好了。。。
------解决方案--------------------
Delphi(Pascal) code
SendMessage(hwnd, 0x0104, 0x11, 0x20380001);
SendMessage(hwnd, 0x0104, (int)'D', 0x20210001);
SendMessage(hwnd, 0x0106, (int)'D', 0x20210001); 
SendMessage(hwnd, 0x0105, 0x11,0xC0380001);

------解决方案--------------------
那样你可以考虑下进程快照,判断窗口是否存在可以枚举进程,找不到这个进程就做其它的事情,找到了findmainwindow,发消息激活,然后keybdevent
不知道你说的是不是这个意思……