找回密码
 加入
搜索
查看: 3500|回复: 13

[系统综合] 【已解决】能否获取MsgBox上的提示信息?

 火.. [复制链接]
发表于 2012-1-10 18:29:46 | 显示全部楼层 |阅读模式
本帖最后由 FateSky 于 2012-1-18 11:22 编辑

请各位高手帮忙解决一下,获取MsgBox提示框上的提示信息,谢谢了!
发表于 2012-1-10 20:18:16 | 显示全部楼层
下班回家
先发上来还不是很全,希望有人modify
#include <WinAPI.au3>
Opt('MustDeclareVars', 1)

_Main()

Func _Main()
        Local $aWindows, $i
        $aWindows = _WinAPI_EnumWindows()
        For $i = 1 To $aWindows[0][0]
                If $aWindows[$i][1] = "Static" And _GetClass(_WinAPI_GetParent($aWindows[$i][0])) = "#32770" Then 
                MsgBox(0, 1,WinGetTitle($aWindows[$i][0]))
                EndIf
        Next
EndFunc   ;==>_Main

Func _GetClass($hWnd)
Local $1 = DllCall("user32.dll", "int", "GetClassNameW", "hwnd", $hWnd, "wstr", "", "int", 4096);根据句柄得到类
Return $1[2]
EndFunc
 楼主| 发表于 2012-1-13 13:02:56 | 显示全部楼层
回复 2# 502762378
你好,能帮忙讲解一下吗?我是新手,有些地方看得还不是太明白,或者您加上注释,万分感谢。
发表于 2012-1-13 13:51:04 | 显示全部楼层
不太理解楼主的意思  如意是自建的msgbox那输出的是什么  你自己应该知道  如果是第三方程序的  这种窗口类型又不复杂,直接就可以用controlgettext或 wingettext获取

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2012-1-14 00:07:52 | 显示全部楼层
本帖最后由 502762378 于 2012-1-14 00:15 编辑

回复 3# FateSky


我的方法为得到winows标准msgbox的提示信息,比如你运行个什么随便报错的UI,这个就是标准的winows msgbox,而打开一些PPT\EXCEL什么的s那个报错UI不算,或者第三方其他软件你要自己检测。我的方法只是的枚举所有窗体以及子窗体,得到窗体ID和类名
windows标准的msgbox的控件类为:#32770,里边装提示信息的控件类为:Static,判断符合的枚举出来,然后show出Static的信息出如果你还有什么其他的判断条件就更完美了,比如你要判断msgbox的标题或者提示信息有什么字眼。
发表于 2012-1-14 00:47:07 | 显示全部楼层
回复 5# 502762378

楼主的思路是利用枚举方法,是否有可能通过消息机制直接捕获它?————“消息”
发表于 2012-1-14 12:17:07 | 显示全部楼层
还是看不明白!!
发表于 2012-1-14 20:21:48 | 显示全部楼层
向高手学习一下!
发表于 2012-1-15 18:37:22 | 显示全部楼层
本帖最后由 netegg 于 2012-1-15 19:01 编辑

越琢磨越不像提取文本那么简单,更确切的应该是获取进程中断的消息代码,然后匹配相应文本,这个工作量不小,不同软件的消息描述是不一样的
发表于 2012-1-15 19:09:37 | 显示全部楼层
还是看不明白!!
发表于 2012-1-25 23:19:27 | 显示全部楼层
认真学习了!
发表于 2017-8-20 10:48:27 | 显示全部楼层
回复 1# FateSky


    求解决方案,我也碰到这类问题了,需要从弹窗里面获取弹窗里面显示的信息,而且还需要做一个弹窗是否存在的判断,用controlcommand命令无法判断弹窗是否存在
发表于 2017-8-20 10:48:50 | 显示全部楼层
急需这类解决方案啊,有高手没
发表于 2017-8-20 10:49:05 | 显示全部楼层
现在回帖居然没有金钱了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 22:35 , Processed in 0.084329 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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