PostMessage模拟后台鼠标点击的问题

upc_ssogiv 2012-04-12 10:24:18
我向一个按钮发送lbuttondown和lbuttonup的消息,可以触发按钮的click事件,但是向一个窗体发送同样的消息,wparam和lparam参数不变,就只能触发窗体的mousedown和mouseup事件,这是为什么呢?或者有没有其他的办法在后台模拟鼠标?
...全文
1424 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
upc_ssogiv 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 4 楼 的回复:

引用 2 楼 的回复:
使用postmessage你确定获取的按键的句柄,如果是窗体的句柄,肯定就是click的窗体了
还可以使用mouse_event函数,api函数里有介绍的

postmessage me.hwnd,wm_lbuttondown,1,1
postmessage me.hwnd,wm_lbuttonup,1,1
上面的代码有什么问题么?……
[/Quote]

哦,窗体和按钮的响应顺序还有这个差别呀。。。谢谢了
“form的down和up事件是怎么处理的”这个是什么意思呢?再次感谢
upc_ssogiv 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
你把mousedown和mouseup里的内容去掉,然后在发送看看click事件被触发没有嘛
[/Quote]
不触发,一开始就是因为没有触发click所以才试的down和up。。。
water-moon 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 2 楼 的回复:
使用postmessage你确定获取的按键的句柄,如果是窗体的句柄,肯定就是click的窗体了
还可以使用mouse_event函数,api函数里有介绍的

postmessage me.hwnd,wm_lbuttondown,1,1
postmessage me.hwnd,wm_lbuttonup,1,1
上面的代码有什么问题么?
另外,mouse_ev……
[/Quote]
不好意思,开始问题看错了,这个你发送的东西没错,估计问题出在这几个事件执行的顺序上了……
commandbutton的鼠标单击响应顺序是这样的:MouseDown,Click,MouseUp
form的鼠标单击响应是:MouseDown,MouseUp,Click

若是自己的程序,可以看一下form的mousedown或up事件是怎么处理的
若是别人的程序,只有想其他的办法了……
water-moon 2012-04-13
  • 打赏
  • 举报
回复
你把mousedown和mouseup里的内容去掉,然后在发送看看click事件被触发没有嘛
upc_ssogiv 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
http://download.csdn.net/detail/veron_04/2813308
[/Quote]
又看了看这个程序。。。总算是搞懂它是干什么的了。。。但是和我的问题没有关系啊。。。我用post向按钮发送消息也确实成功了。。。
upc_ssogiv 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
[/Quote]
没有对鼠标位置的操作啊。。。但是就是不触发click。。。总之还是谢谢了
water-moon 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 的回复:
引用 4 楼 的回复:

引用 2 楼 的回复:
使用postmessage你确定获取的按键的句柄,如果是窗体的句柄,肯定就是click的窗体了
还可以使用mouse_event函数,api函数里有介绍的

postmessage me.hwnd,wm_lbuttondown,1,1
postmessage me.hwnd,wm_lbuttonup,1,……
[/Quote]
就是看你代码里面写了什么,按照正常的情况,只要鼠标位置没有变化,mousedown和mouseup事件执行完成以后是要执行click的,如果mousedown里鼠标位置发生了变化click就不会执行了
upc_ssogiv 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
使用postmessage你确定获取的按键的句柄,如果是窗体的句柄,肯定就是click的窗体了
还可以使用mouse_event函数,api函数里有介绍的
[/Quote]
postmessage me.hwnd,wm_lbuttondown,1,1
postmessage me.hwnd,wm_lbuttonup,1,1
上面的代码有什么问题么?
另外,mouse_event没有句柄参数,它完成的不是前台模拟么?
upc_ssogiv 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
http://download.csdn.net/detail/veron_04/2813308
[/Quote]
没有搞懂这个程序的作用。。。运行以后什么也没有发生。。。代码也有点奇怪。。。
water-moon 2012-04-12
  • 打赏
  • 举报
回复
使用postmessage你确定获取的按键的句柄,如果是窗体的句柄,肯定就是click的窗体了
还可以使用mouse_event函数,api函数里有介绍的

1,488

社区成员

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

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