Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата 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
?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:37, 19-06-2009 | #10