找回密码
 加入
搜索
查看: 7946|回复: 17

MsgBox多线程弹出窗口

 火.. [复制链接]
发表于 2010-1-10 00:52:16 | 显示全部楼层 |阅读模式
我做了一个类似呼叫网管的系统,
使用MsgBox弹出显示窗口,但是如果没点掉第一个弹出窗口,就不能再次弹出窗口,好像程序就中断的,要点掉MsgBox窗口,程序在继续执行
如何才能同时弹出几个MsgBox呢
有没有类似的例子,忘高手指点
发表于 2010-1-10 01:57:44 | 显示全部楼层
用多个AdlibRegister或Timer,通过bool变量判断去确定窗口的弹出.不过会对主循环产生影响.
发表于 2010-1-10 10:23:56 | 显示全部楼层
用TrayTip之类的也可以啊!在第二次弹出之前就使用TrayTip("","",0)清空再弹或加个sleep
使用msgbox要暂停的!
发表于 2010-1-10 11:20:41 | 显示全部楼层
发表于 2010-1-10 13:32:05 | 显示全部楼层
to LS,那是多进程,非必要时还是不要用的好
发表于 2010-1-10 13:42:49 | 显示全部楼层
to LS,那是多进程,非必要时还是不要用的好
ceoguang 发表于 2010-1-10 13:32


楼主的意思是:“如何才能同时弹出几个MsgBox呢?”
您是否把楼主的意思理解错了。
发表于 2010-1-11 00:07:56 | 显示全部楼层
用多个AdlibRegister或Timer不可以?
发表于 2010-1-11 00:35:11 | 显示全部楼层
msgbox会暂停脚本,不使用多进程,根本无法同时弹出多个msgbox
发表于 2010-1-11 18:22:20 | 显示全部楼层
做个exe来弹出message box
然后run这个exe
发表于 2010-1-14 16:37:42 | 显示全部楼层
msgbox会暂停脚本,不使用多进程,根本无法同时弹出多个msgbox
298311657 发表于 2010-1-11 00:35

试试这个
$Timer = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$TimerDLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 5000, "ptr", DllCallbackGetPtr($Timer))
$Timer2 = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$Timer2DLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 8000, "ptr", DllCallbackGetPtr($Timer2))
$Timer3 = DllCallbackRegister("Timer", "int", "hwnd;uint;uint;dword")
$Timer3DLL = DllCall("user32.dll", "uint", "SetTimer", "hwnd", 0, "uint", 0, "int", 10000, "ptr", DllCallbackGetPtr($Timer3))
While 1
        GUIGetMsg()
WEnd
Func Timer($hWnd, $uiMsg, $idEvent, $dwTime)
        If $idEvent = $TimerDLL[0] Then
                MsgBox(0,"","线程1")
        ElseIf $idEvent = $Timer2DLL[0] Then
                MsgBox(0,"","线程2")
        ElseIf $idEvent = $Timer3DLL[0] Then
                MsgBox(0,"","线程3")
        EndIf
EndFunc
发表于 2010-1-15 10:42:23 | 显示全部楼层
10#的思路正解
发表于 2010-1-16 19:43:06 | 显示全部楼层
貌似au3只能多进程,不支持线程操作?
发表于 2010-1-17 10:54:16 | 显示全部楼层
貌似au3只能多进程,不支持线程操作?
yq314 发表于 2010-1-16 19:43

是支持操作的,但程序本身不能在多线程里工作
发表于 2010-1-19 14:17:42 | 显示全部楼层
据说有个多线程显示msgbox的udf,难道是我记错了,貌似是那个带倒计时的box?
发表于 2010-7-17 11:45:59 | 显示全部楼层
我是通过GUICREAT()来模拟msgbox来实现不中断主循环的前提下,提示信息的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 03:02 , Processed in 0.093963 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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