找回密码
 加入
搜索
查看: 2874|回复: 7

[AU3基础] 请问如何让弹出消息框后自动继续下面的操作

  [复制链接]
发表于 2011-7-8 13:04:24 | 显示全部楼层 |阅读模式
我有个需求,先弹出一个消息框,然后自动继续下面的后台操作,等操作完成后,自动关闭该消息框。
MsgBox(0,"","正在配置。。。。")
这个命令必须得点确定,关闭消息框后才可以下面的命令,满足不了我的要求。谢谢大家指教!
发表于 2011-7-8 13:31:44 | 显示全部楼层
最简单就是弄两个exe,一个用来弹框
 楼主| 发表于 2011-7-8 13:45:38 | 显示全部楼层
那样太麻烦。就是不想弄太多东西。
ToolTip这个可以满足我的要求,但不能居中显示,因为显示器尺寸也不是固定的。有没有其他象这样的命令的
发表于 2011-7-8 14:16:36 | 显示全部楼层
回复 3# q115643492

@DesktopHeight  以象素为单位的屏幕高度(垂直分辨率),如 768

@DesktopWidth   以象素为单位的屏幕宽度(水平分辨率),如 1024

ToolTip ( "测试", @DesktopWidth/2,@DesktopHeight/2 , "测试","",4)
发表于 2011-7-8 15:40:39 | 显示全部楼层
不要用msgbox,会造成程序暂停,可以做一个GUI窗口代替
发表于 2011-7-8 19:19:58 | 显示全部楼层
需要自己创造GUI吧~~~~
发表于 2011-7-9 02:46:34 | 显示全部楼层
可以不用GUI吧,用 AdlibRegister?
 AdlibRegister('_MyMsg',10)

Func _MyMsg()
        AdlibUnRegister('_MyMsg')
        While ProcessExists('配置运行的.exe')
        MsgBox(0,"标题","内容",0.8)
WEnd
EndFunc
发表于 2011-7-9 13:36:48 | 显示全部楼层
ToolTip就可以了。

当然最直接的方法应该是再起个线程来运行msgbox(),可惜au3不能直接支持多线程,所以你只能曲线完成了,如上楼说的用AdlibRegister()之类的。

觉得au3不直接支持多线程,是最大的硬伤了。很多时候你在写代码时,都得用别的技巧来达到类似再起一个线程干的事。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:17 , Processed in 0.100828 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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