找回密码
 加入
搜索
楼主: gzkay

PostMessage_UDF.au3的问题

[复制链接]
 楼主| 发表于 2009-2-10 15:47:28 | 显示全部楼层
有些软件直接用ControlClick不行,要WinActivate之后才可以用ControlClick,
但是如果刚好au3执行到ControlClick的时候用户在打字..就影响到了...
 楼主| 发表于 2009-2-10 15:50:17 | 显示全部楼层
还有就是ControlClick对VB写的程序是不能直接用的..都要先激活窗口才能点击成功..
发表于 2009-2-10 15:51:27 | 显示全部楼层
那你都考虑到这个因素了,就在controlclick前再winactivate一次吧,这有什么问题么?
 楼主| 发表于 2009-2-10 15:52:58 | 显示全部楼层
原帖由 KiwiCsj 于 2009-2-10 15:51 发表
那你都考虑到这个因素了,就在controlclick前再winactivate一次吧,这有什么问题么?

所以就影响到用户操作了啊..本来在打字的..一执行winactivate不就失去打字焦点啦..
发表于 2009-2-10 16:02:00 | 显示全部楼层
点游戏登陆器不就是要进游戏么?
要进游戏了还不许窗口影响到他打字?
这是什么逻辑?

感觉没有必要为此伤脑筋。
 楼主| 发表于 2009-2-10 16:06:08 | 显示全部楼层
原帖由 KiwiCsj 于 2009-2-10 16:02 发表
点游戏登陆器不就是要进游戏么?
要进游戏了还不许窗口影响到他打字?
这是什么逻辑?

感觉没有必要为此伤脑筋。

我当初也是这么逃避的..但是...逃避是学不了东西的...到现在半年了..我的问题依然没解决..当初是在au3.net.cn论坛混的..就是因为这论坛太少高手了..
现在游戏登陆器做出来了..连进程守护也做出来了..当游戏掉线的时候..进程守护会自动再启动登陆器登陆游戏..登录过程就影响到聊天..灌水..看电影等等....
发表于 2009-2-10 16:21:14 | 显示全部楼层
个人以为不存在逃避不逃避的问题。只是必要性而已。au3脚本的存在还是以实际解决问题为主。用不着就不学,用得着就努力研究。光是为了学习而学习,那是有闲有钱又年轻的朋友们。这话是针对我自己个人而言,为此,呵呵,你的这个问题,我帮不上了。

发表于 2009-2-10 16:21:50 | 显示全部楼层
希望其他朋友能帮到你。
 楼主| 发表于 2009-2-10 16:26:39 | 显示全部楼层
那是..要趁着有激情的时候学多点..特别是系统API的调用..
发表于 2009-3-22 22:48:11 | 显示全部楼层
不用UDF,autoit本身就已经有此函数.

_WinAPI_PostMessage

用法:

_WinAPI_PostMessage($hWnd, $iMsg, $iwParam, $ilParam)

说明:
句柄

$hWnd


$iMsg

事件消息

$iwParam

参数1

$ilParam

参数2
KiwiCsj误解了楼主的意思了

[ 本帖最后由 ceoguang 于 2009-3-22 22:49 编辑 ]
发表于 2009-3-23 08:20:53 | 显示全部楼层
是啊 重翻老帖发现 2个人会错意的聊了1页 很强啊......

试试mouseclickplus呢 就是mouseclick的postmessage版本
发表于 2009-3-23 23:37:17 | 显示全部楼层
原帖由 ebhb 于 2009-3-23 19:13 发表
按键精灵有几DLL插件支持后台鼠标移动以及后台按键,就是不知道怎么调用DLL

就是通过API的PostMessage或SendMessage实现的
发表于 2009-3-24 23:32:09 | 显示全部楼层
楼主的做法是对的,AU3自带的函数,很多情况下是不能用的.
比如按ctrl+alt+del锁定,就有很多函数用不了了.

楼主的写法也没错,只是对象错了.

向 "计算器" 窗口,发送WM_LBUTTONDOWN ,"计算器" 也收到了,但是不会处理的.
因为它本身没有这个消息的响应函数.
你应该对某个 BUTTON发送BUTTONDOWN才有用.
如要输入文字,应该向EDIT控件发送WM_CHAR或WM_KEYDOWN WM_KEYUP,而不是窗口.

所以你还应该用findwindowEx() 来得到EDIT的HWND才行,继续努力...
等你的UDF完善了,共享一下吧. 希望说这么多对你有帮助. 我也经常用到这个,只是没有想过弄成UDF,因为我使用的主要工具不是AU3.

----(sanhen好像都没什么时间啊,建议SXD做个斑竹吧,这么热心.)补充一下:  

sanhen 躲在车里,你想海扁他的话, 你不能找到车,对着车打,你还得用FINDWINDOWEX 找到SANHEN,然后对使用
右钩拳(sendmessage($sanhen,$WM_POWER,9999,9999)).

[ 本帖最后由 akmm88 于 2009-3-24 23:40 编辑 ]

评分

参与人数 1贡献 +8 收起 理由
lynfr8 + 8

查看全部评分

发表于 2009-3-25 04:00:09 | 显示全部楼层
汗 做版主根本不够格....

我只是个打杂的
发表于 2009-3-25 12:26:35 | 显示全部楼层
用Sendinput()比较烦琐
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 16:42 , Processed in 0.168738 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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