Что нового

Определение интернета

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Как я проверяю. >
Код:
MsgBox(0,0,_GAPI_GetIP())

; Узнать IP адресс
Func _GAPI_GetIP()
	if not _GAPI_IsNetworkConnect() Then Return @IPAddress1
	Local $sIP = StringRegExpReplace(BinaryToString(InetRead("http://www.whatismyip.ru")), '(?s).+\<font\scolor\=blue\>\<h1\>Ваш\sip\sадрес:\<br\>\n(\d+\.\d+\.\d+\.\d+)\n\</h1\>\</font\>.+', '\1')
	Return $sIP
EndFunc

; Узнать подключение к интернету
Func _GAPI_IsNetworkConnect()
    Local $aRet, $iResult = 0x0
    $aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)
    If BitAND($aRet[1], 0x1) Then $iResult += 2
    If BitAND($aRet[1], 0x2) Then $iResult += 4
    If BitAND($aRet[1], 0x4) Then $iResult += 8
    Return $iResult
EndFunc

Можно еще спомощью ping.
Код:
Ping()
 

ArtInt

Знающий
Сообщения
135
Репутация
18
Можно юзать любую функцию связанную с интернетом (например грузить картинку через InetGet), если ошибка -> скорее всего интернета нет. (Просто не могу представить, какая ещё может быть ошибка при скачивании картинки, но вдруг)
 

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
ArtInt
Это займет время, особенно если интернет подключен, но за него не заплачено, думать будет долго.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Можно проверять HEAD запросом на google.ru, или mail.ru, или yandex.ru.
 

ArtInt

Знающий
Сообщения
135
Репутация
18
Ganibal95
Да, несомненно ваш способ лучше. Однако данная альтернатива тоже имеет право жить.
 

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
ArtInt
Я не говорил что лучше, я пользуюсь этим.
А вообще лучше через TCP/IP подключится к Google...
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
я пользуюсь фонарным выражением
Код:
InetRead("http://www.yandex.ru")
 

ArtInt

Знающий
Сообщения
135
Репутация
18
Александр
ArtInt [?]
Можно юзать любую функцию связанную с интернетомъ, если ошибка -> скорее всего интернета нет.

По этому принципу, или я что-то не понимаю?
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
ArtInt
если в инет через прокси и в системе есть настройка на прокси с запоминанием логина и пароля или инет через модем или просто типа выделенка с дозвоном, то
Код:
InetRead
без особых обозначений..
в программе нужно учитывать возможность получения инета через прокси. иначе это будет недодел ;)
 

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Александр
Я не пользуюсь прокси, думаю мало кто сейчас им пользуется.
 

Arei

Скриптер
Сообщения
938
Репутация
115
НЕ соглашусь, многие пользуются прокси.
 
Верх