SendMessage模拟点击按钮的问题 10

SendMessage(Btn_Handle,WM_LBUTTONDOWN,1,0);Sleep(10);SendMessage(Btn_Handle,WM_LBUTTO... SendMessage(Btn_Handle,WM_LBUTTONDOWN,1,0);
Sleep(10);
SendMessage(Btn_Handle,WM_LBUTTONUP,0,0);

上面的代码是可以正常执行的,但是有一个问题,当系统比较繁忙时,可能会出现点击,而按钮没有反应的情况。

怎么判断按钮有没有响应,通过sendmessage的返回值行不行
展开
 我来答
a86263382
2013-02-21 · TA获得超过2393个赞
知道大有可为答主
回答量:7561
采纳率:0%
帮助的人:2134万
展开全部
全球::查找窗口GET HWND CWnd类的cwnd,通过GetSafeHwnd()的HWND。
我觉得你的问题是由于PostMessage的消息后,仍队列,标题为“提示”对话框中的另一条消息,你说的应该是鼠标点击的消息,点击鼠标消息的处理将被处理后一个按钮,点击该消息。所以,在这里你需要模拟鼠标点击的消息就可以了。
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);
没有SetCursorPos,移动鼠标会显示,你不应该需要移动的按钮。
wqte45
2017-10-01 · TA获得超过997个赞
知道小有建树答主
回答量:1492
采纳率:53%
帮助的人:366万
展开全部
可以判断返回值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a6335ab
2013-02-21
知道答主
回答量:6
采纳率:0%
帮助的人:8214
展开全部
用BM_CLICK

这个是直接模拟按键的。另外如果没有获得焦点,建议发送两次这个消息。

参数两个0
追问
那能否解决系统繁忙时,可能按钮没有响应的问题?
SendMessage(Btn_Handle,BM_CLICK,0,0);
这样就能达到按下松开的效果了吗?
追答
你是模拟按下再放开。需要两个消息,其实BM_CLICK就相当于模拟你那个东西,只不过这个消息是连贯的。不是和你那样间断的发送的。所以不用担心系统忙。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guzhang9992008
2013-02-21 · TA获得超过355个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:71.6万
展开全部
不会,提高回答,拿分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式