想对后台的记事本发送 Alt+E(打开编辑菜单),但一直不能成功
前台的很好办,直接SetForegroundWindow(m_hWnd);
SendMessage(m_hWnd, WM_SYSCOMMAND, SC_KEYMENU, (WPARAM)'E');
就可以,但不置前窗体的话,怎么发过去让记事本打开编辑菜单呢?
2014-09-07 16:33

2014-09-07 19:02
2014-09-07 19:07

2014-09-08 08:55
,我原来发消息也这样子弄:
程序代码:
PostMessage(m_hWnd, WM_SYSKEYDOWN, VK_MENU, MakeKeyLparam(VK_MENU, WM_SYSKEYDOWN));
PostMessage(m_hWnd, WM_SYSKEYDOWN, 'E', MakeKeyLparam('E', WM_SYSKEYDOWN));
PostMessage(m_hWnd, WM_SYSCHAR, 'E', MakeKeyLparam('E', WM_SYSCHAR));
PostMessage(m_hWnd, WM_SYSKEYUP, 'E', MakeKeyLparam('E', WM_SYSKEYUP));
PostMessage(m_hWnd, WM_KEYUP, VK_MENU, MakeKeyLparam(VK_MENU, WM_KEYUP));
2014-09-08 10:53
2014-09-08 15:20
2014-09-08 17:25
2014-09-08 18:40
SetForegroundWindow(m_hWnd); SendMessage(m_hWnd, WM_SYSCOMMAND, SC_KEYMENU, (WPARAM)'E');
程序代码: SetForegroundWindow(m_hWnd);
PostMessage(m_hWnd, WM_SYSKEYDOWN, VK_MENU, MakeKeyLparam(VK_MENU, WM_SYSKEYDOWN));
PostMessage(m_hWnd, WM_SYSKEYDOWN, 'E', MakeKeyLparam('E', WM_SYSKEYDOWN));
PostMessage(m_hWnd, WM_SYSKEYUP, 'E', MakeKeyLparam('E', WM_SYSKEYUP));
PostMessage(m_hWnd, WM_KEYUP, VK_MENU, MakeKeyLparam(VK_MENU, WM_KEYUP)); PostMessage(m_hWnd, WM_KEYDOWN, VK_F5, MakeKeyLparam(VK_F5, WM_KEYDOWN));
PostMessage(m_hWnd, WM_KEYUP, VK_F5, MakeKeyLparam(VK_F5, WM_KEYUP));
2014-09-08 21:36
2014-09-09 15:31