Цитата:
Цитата sashadeg
у тебя ведь он для того чтобы работал пока ждёт подключения... »
|
Мда...
Код:
#include <Timers.au3>
Global $iShow_While_Progress = 1
Global $iProgress = 0
Global $hTimer = 0
_ProgressStart_Proc()
$iInetIsConnected = InetGetSize("http://ya.ru/logo.png")
_ProgressStop_Proc()
If $iInetIsConnected > 0 Then
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ =)")
Exit
EndIf
$iAsk = MsgBox(20, "Internet Connection", _
"К сожалению, сейчас Интернет на вашем компьютере НЕ РАБОТАЕТ. Сообщить, если Интернет будет работать?")
If $iAsk = 6 Then
If $iShow_While_Progress Then _ProgressStart_Proc()
While 1
Sleep(5000)
If InetGetSize("http://ya.ru/logo.png") > 0 Then
_ProgressStop_Proc()
Beep(1000, 100)
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ =) Время подключения: " & @HOUR & ":" & @MIN & ":" & @SEC)
Exit
EndIf
WEnd
EndIf
Func _ProgressStart_Proc()
ProgressOn("Internet Connection", "Проверка подключения", "Пожалуйста, подождите...", -1, -1, 16)
$hTimer = _Timer_SetTimer(0, 100, "_ProgressSet_Proc")
EndFunc
Func _ProgressStop_Proc()
If $hTimer <> 0 Then _Timer_KillTimer(0, $hTimer)
$hTimer = 0
ProgressSet(100)
Sleep(1000)
ProgressOff()
EndFunc
Func _ProgressSet_Proc($hWnd, $nMsg, $iIDTimer, $dwTime)
$iProgress += 1
If $iProgress >= 100 Then $iProgress = 0
ProgressSet($iProgress)
EndFunc
Цитата:
Цитата beve
У меня твой пример постоянно показывает, что интернет работает, даже когда я отключил (Интернет Adsl, модем подключен через сетевую...) »
|
Интересно... А такая функция работает:
Код:
Func _InetIsConnected($sPing_Host="google.com", $iPing_TimeOut=1000)
Local Const $INTERNET_CONNECTION_MODEM = 0x1
Local Const $INTERNET_CONNECTION_LAN = 0x2
Local Const $INTERNET_CONNECTION_PROXY = 0x4
Local Const $INTERNET_CONNECTION_MODEM_BUSY = 0x8
Local Const $INTERNET_RAS_INSTALLED = 0x10
Local Const $INTERNET_CONNECTION_OFFLINE = 0x20
Local Const $INTERNET_CONNECTION_CONFIGURED = 0x40
;For 3.2.10.0 the next line should be used
;Local $aRetConnectedState = DllCall("WinInet.dll", "int", "InternetGetConnectedState", "int*", 0, "int", 0)
Local $aRetConnectedState = DllCall("WinInet.dll", "int", "InternetGetConnectedState", "int_ptr", 0, "int", 0)
Local $iRetState = 0
If UBound($aRetConnectedState) > 0 And $aRetConnectedState[0] Then
If BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_MODEM) Or _
BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_LAN) Or _
BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_PROXY) Or _
BitAND($aRetConnectedState[1], $INTERNET_RAS_INSTALLED) Then $iRetState = 1
If BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_OFFLINE) Then $iRetState = 0
Else
$iRetState = 0
Endif
If $iRetState = 0 Then
Local $iPingCheck = Ping($sPing_Host, $iPing_TimeOut)
If $iPingCheck > 0 Then $iRetState = 1
EndIf
Return $iRetState
EndFunc
?
:unsure:
|