找回密码
 加入
搜索
查看: 4803|回复: 5

[GUI管理] PostMessage_UDF里面_MouseClick的坐标是怎么获取的?那个答案不行

[复制链接]
发表于 2011-8-10 18:15:47 | 显示全部楼层 |阅读模式
我使用信息工具了.获取的坐标,在屏幕,窗口,客户区三个模式都不对.

也尝试了示例的计算器,19,12坐标怎么那么偏?怎么得到我想点位置的坐标?能用在这个函数呢?



下面的地址是类似的帖子

http://www.autoitx.com/forum.php?mod=viewthread&tid=20836&highlight=%BA%F3%CC%A8%2B%CA%F3%B1%EA

帖子里面的那个高手,最终还是用的计算器的按钮控件ID,发送消息达成的.

而我需要的是全坐标的.(窗口的固定大小),
 楼主| 发表于 2011-8-10 20:41:59 | 显示全部楼层
#include <PostMessage_UDF.au3>

$Hwnd = WinGetHandle("计算器")
_MouseClick($Hwnd,"right",111,111)
晕死了.PostMessage_UDF
里面的坐标是对的,但是,左键点击无效,在计算器的5数字按钮上,但是用鼠标右键就正确.

那位大侠给看一下,就差这一步了.

用"left",就不行.???
发表于 2011-8-11 04:48:40 | 显示全部楼层

_SendMessage($hWnd, 0x201, 1, _WinAPI_MakeLong(1, 1))
_SendMessage($hWnd, 0x202, 0, _WinAPI_MakeLong(1,1))

$hWnd为计算器上5的句柄,如果换成对应的值测试
 楼主| 发表于 2011-8-20 00:31:21 | 显示全部楼层
获取控件句柄?很麻烦.

用大漠插件,windwos3的鼠标模式可以实现.

我这里问题有新发现,

需要操作的窗口,前台激活,用send 和countrlsend 都可以了.但是该死的要激活一下,后台办不到.
发表于 2011-8-20 08:42:13 | 显示全部楼层
本帖最后由 godhawk 于 2011-8-20 10:59 编辑

嗯,怎么说呢

貌似是右键控制的“弹出提示”的功能的控件,是整个面板,而左键的“按下数字”功能的控件范围要小,仅仅只有5那个按钮的范围

所以你这个代码,仅仅能把右键的消息发给计算器,左键的发给计算器没用,要发给按钮5才有效果

也就是说,你还是要得到按钮5的控件句柄,才能操作


顺便问下,windwos3的鼠标模式是怎么实现的? 能贴下你的代码看看吗?
 楼主| 发表于 2011-8-22 02:43:53 | 显示全部楼层
windows3?

你需用大漠插件,才又这个参数.
$dm.BindWindow($Hwnds[$i],"gdi","windows3","windows",0)

dm这个对象里面的bindwindows语句的一个参数.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 01:36 , Processed in 0.101524 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表