如何不管用? SendMessage(Form1.Handle,WM_SYSKEYDOWN,VK_MENU+VK_F4,0);(50分)

  • 主题发起人 主题发起人 abencat
  • 开始时间 开始时间
A

abencat

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp;SendMessage(Form1.Handle,WM_SYSKEYDOWN,VK_MENU+VK_F4,0);<br>如何不管用?
 
sendmessage(form1.handle, WM_CLOSE, 0, 0);
 
我的目的是发送一个组合键,而不是单存的关闭
 
组合键不是这么发的,这是我以前的代码:<br>&nbsp; SendMessage(DisplayMemo.Handle, WM_KEYDOWN, VK_CONTROL , 0);<br>&nbsp; SendMessage(DisplayMemo.Handle, WM_KEYDOWN, VK_END, $40000000);<br>
 
何不用keybd_event<br>&nbsp; keybd_event(VK_MENU,0,0,0);<br>&nbsp; keybd_event(vk_f4,0,0,0);<br>&nbsp; keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);<br>&nbsp; keybd_event(vk_f4,0,KEYEVENTF_KEYUP,0);<br><br>wm_keydown我也试不成功,组合键alt+f4,听课
 
按ALT+F4根本不产生WM_KEYDOWN消息<br>按ALT也只产生一个WM_MENU消息<br>不知道有没有高手释疑,听课
 
keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), 0 , 0 ); &nbsp; &nbsp; // Alt down<br>keybd_event( VK_DOWN, MapVirtualKey( VK_F4, 0 ), 0 , 0 ); &nbsp; &nbsp; // F4 key down<br>keybd_event( VK_DOWN, MapVirtualKey( VK_F4, 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;//F4 key up<br>keybd_event( VK_MENU, MapVirtualKey( VK_MENU, 0 ), KEYEVENTF_KEYUP , 0 ); &nbsp;// Alt key up<br>也许可以<br>谁愿意试一试?
 
这个是可以的,可是我要的不是这个效果
 
多人接受答案了。
 

Similar threads

后退
顶部