如何关闭这个ping循环
本帖最后由 ziyaxian 于 2009-5-7 16:36 编辑我想3秒钟对所有服务器PING一次看其是否中断,但是用while以后,关不了这个程序了,请高手指点一下:代码如下:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <date.au3>
Opt("TrayMenuMode", 1)
$g_szVersion = "服务器网络监控"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("服务器网络监控", 265, 394, -1, -1)
_ping()
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _ping()
While 1
Local $var,$a,$s
$b=8
$var = IniReadSection("config.ini", "名称")
If @error <> 1 Then
For $i = 1 to $var
$a = ping ( $var[$i],1000 )
If $a Then
$s =$var[$i]
$Input1 = GUICtrlCreateInput($s, 8, $b, 105, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
$Input2 = GUICtrlCreateInput("正常", 123, $b, 61, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
$Input3 = GUICtrlCreateInput("延时:"&$a, 191, $b, 65, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
Else
$s =$var[$i]
$Input1 = GUICtrlCreateInput($s, 8, $b, 105, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
$Input2 = GUICtrlCreateInput("网络中断", 123, $b, 61, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
GUICtrlSetColor(-1, 0xff0000)
$Input3 = GUICtrlCreateInput("请速处理", 191, $b, 65, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
GUICtrlSetColor(-1, 0xff0000)
EndIf
$b=$b+25
Next
EndIf
$Input25 = GUICtrlCreateInput("日期/时间:" & _now(), 21, 363, 221, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL,$ES_READONLY,$WS_BORDER))
GUISetState(@SW_SHOW)
Sleep(3000)
WEnd
EndFunc 多看帮助,ExitLoop退出循环
AdlibEnable ( "函数名" [, 时间] ) 谢谢提醒,终于解决了 学习了。。。。 AdlibEnable 这命令我还第一次知道他的意思,谢谢 AdlibEnable 这命令我还第一次知道他的意思,谢谢
都市浪子666 发表于 2009-8-30 11:53 http://www.autoitx.com/images/common/back.gif
新版已经改了,改成 AdlibRegister 了 AdlibRegister ( "函数" [, 时间] )
关闭也改了
AdlibUnRegister( "函数" ) OPT 有空要认真学一下 学习........................ 学习........................
页:
[1]