windows下怎样发送消息模拟鼠标点击
我只会mouse_event那种,但是跟我预期的效果不一样。
我想要的是:
比如,我想点窗口A中的一个按钮,在窗口A最小化的时候,给A发一个消息什么的,让它响应在按钮上有一个鼠标点击的事件。。。
不知道我的问题描述清楚没有,windows支持这种消息不?
100分,望windows高人赐教。
------解决方案--------------------vc code:
VC的按钮只有两个消息,单击和双击,没有LButtonDown和LButtonUp,那只有先获得按钮的区域了,然后判断鼠标是在哪个按钮的区域中按下的;  
获得按钮区域:  
CButton m_Button1;  
CRect rc;  
m_Button1.GetWindowRect(rc);  
响应:  
void CYourDlg::OnLButtonDown(UINT nFlags, CPoint point)  
{  
// TODO: Add your message handler code here and/or call default  
//判断鼠标在哪个按钮区域中  
if(PtInRect(rc, point))  
{  
}  
CDialog::OnLButtonDown(nFlags, point);
Delphi code: procedure TForm1.Button1Click(Sender: TObject); begin SendMessage(WebBrowser1.Handle,WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(10,10)); SendMessage(WebBrowser1.Handle,WM_LBUTTONUP, MK_LBUTTON, MAKELONG(10,10)); end;  
搜索的,希望对你有帮助
------解决方案--------------------找到窗口句柄,然后SendMessage或PostMessage。
------解决方案--------------------
如果你要模拟一个标准按钮的点击,可以事先用SPY++等工具查出按钮ID,在程序中使用FindWindow根据窗口标题和类名找到窗口,再用SendMessage向其发WM_COMMAND消息,wParam参数的低16位给按钮ID,高16位给BN_CLICKED。
对于非标准按钮,此方法未必有效,需要自己分析其消息机制。