不死草 发表于 2013-1-28 23:47:21

为什么这样的ping检测在不通的情况下会导致窗口短时间的未响应?

Func pstart()
        $n = 0
        Do
                Local $Ping = Ping($ip_default)
                Sleep($delay)
                If $Ping = 0 Then
                        $n = $n + 1
                        If $n = 20 Or $n = 40 Then
                                MsgBox(0, "提示", "XX设备坏,请更换设备!")
                        EndIf
                        If $n = 60 Then
                                $Flag = MsgBox(4 + 32, "程序退出", "你太久没换设备了,是否退出程序?")
                                If $Flag = 6 Then
                                        Exit
                                Else
                                        $n = 0
                                EndIf
                        EndIf
                EndIf
        Until $Ping > 0
EndFunc   ;==>pstart这个循环的ping检测,在不通的情况下,程序界面就会短时间的未响应,然后又恢复,然后又未响应,反复出现,求大家帮忙指点下

haijie1223 发表于 2013-1-29 08:12:45

因为程序在不停的ping,au3是单线程~

moyi20 发表于 2013-1-29 20:40:56

百度影音 就有这个缺陷, 断网情况下 我这里是   直接死掉

不死草 发表于 2013-1-30 15:57:25

因为程序在不停的ping,au3是单线程~
haijie1223 发表于 2013-1-29 08:12 http://www.autoitx.com/images/common/back.gif


    哦,这么说这个问题没办法解决,不是代码问题是吧?

haijie1223 发表于 2013-1-30 16:17:35

回复 4# 不死草


    没有多线程,可以多进程啊,你可以用另一个程序ping。然后本程序读啊。
页: [1]
查看完整版本: 为什么这样的ping检测在不通的情况下会导致窗口短时间的未响应?