模拟鼠标问题,请大家进来帮帮忙,谢谢

miky131499 2005-01-02 06:04:27
各位朋友好。
我现在需要对某窗口的某一坐标进行点击操作,要求实现自动模拟操作,我本运用的是SetCursorPos到该点,然后用moouse_envent进行点击操作,然后在用SetCursorPos回到鼠标初始点。
我现想请教的是程序自动完成了该操作,而鼠标实际没有移动到该点,是在系统内部完成。
请问sendmessage 发送WM_MOUSEMOVE和WM_LBUTTONDOWN,wm_LBUTTONUP能实现我要求的功能吗?如果行,请大家帮帮忙,不行,请告之其他方法
...全文
135 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
miky131499 2005-01-04
  • 打赏
  • 举报
回复
感谢各位的热心帮助,我已经发现问题所在了。并不是sendmessage的问题,而是所要响应的窗体句屏没有正确。
miky131499 2005-01-04
  • 打赏
  • 举报
回复
发个代码给我好吗?mikydoll@126.com
fanoble 2005-01-04
  • 打赏
  • 举报
回复
我做的就是向QQ窗口发送消息
::SendMessage(hwnd,WM_LBUTTONDOWN,10,10);
::SendMessage(hwnd,WM_LBUTTONUP,10,10);
只要窗口找的对就可以
miky131499 2005-01-03
  • 打赏
  • 举报
回复
补充一下,我在sendmessage前用了::SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE);
miky131499 2005-01-03
  • 打赏
  • 举报
回复
感谢大家,在同一窗口用sendmessage(MW_XX,XX,XX)是可以,我前没说清楚,我正在做的是对其他窗口发送信息,比如句柄为hwnd的窗口,我用::SendMessage(hwnd,MW_MOUSEMOVE,XX,XX)却没有反应,请帮忙看看,谢谢了
zjh824 2005-01-03
  • 打赏
  • 举报
回复
加个Timer慢慢移,应该就可以看到过程了。
估计是mousemove消息赶在了paint消息前,还来不及刷新就又回来了。
miky131499 2005-01-03
  • 打赏
  • 举报
回复
我要UP上去
bruceYing 2005-01-03
  • 打赏
  • 举报
回复
vb我会
fanoble 2005-01-03
  • 打赏
  • 举报
回复
我试过,不用移动鼠标,直接发送消息过去
消息要配对发送
如WM_LBUTTONDOWN WM_LBUTTONUP
注意坐标是客户区的坐标
icefox127 2005-01-03
  • 打赏
  • 举报
回复
我上面写的代码是可以的,少写了一句,补上
void CCursorDlg::OnButton1()
{
// TODO: Add your control notification handler code here
MessageBox("hello");
}

void CCursorDlg::OnButton2()
{
// TODO: Add your control notification handler code here

SetCursorPos(350,250);
this->SendMessage(WM_LBUTTONDOWN,(WPARAM)MK_LBUTTON,MAKELPARAM(350,250));


}

void CCursorDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MessageBox("hihi");
OnButton2();
CDialog::OnLButtonDown(nFlags, point);
}
fanqing 2005-01-02
  • 打赏
  • 举报
回复
up
miky131499 2005-01-02
  • 打赏
  • 举报
回复
UP
等待着回答
icefox127 2005-01-02
  • 打赏
  • 举报
回复
试了一下,好象不可以,不知道有没其他方法

void CCursorDlg::OnButton1()
{
// TODO: Add your control notification handler code here
MessageBox("hello");
}

void CCursorDlg::OnButton2()
{
// TODO: Add your control notification handler code here

SetCursorPos(350,250);
this->SendMessage(WM_LBUTTONDOWN,(WPARAM)MK_LBUTTON,MAKELPARAM(350,250));


}

void CCursorDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MessageBox("hihi");
CDialog::OnLButtonDown(nFlags, point);
}
nwpulipeng 2005-01-02
  • 打赏
  • 举报
回复
再up
miky131499 2005-01-02
  • 打赏
  • 举报
回复
UP上去。不的答案绝不罢休。
如果这个是不可能实现也请告诉一声

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧