Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

Как понять я уже в инете или еще нет?   Найти похожие ветки 

 
FATman   (2002-08-27 23:02) [0]

Вобщем то субж. Как мне программно определить подключен ли я к инету или нет. если подключен то делаю то-то если нет то еще чего-нить делаю.
Заранее спасибо!


 
Ihor Osov'yak   (2002-08-28 01:03) [1]

А что такое инет? Поверь, однозначного ответа нет.
Пример - у твоего провайдера загнулся прокси или dns. Ты к нему получил коннект. Так вот вопрос - ты в инете или нет?

Более менее корректный способ - пропинговать (или попытатся подсоединится к удаленому постоянно работающему серверу, ну хотя бы www.microsoft.com) ...

Но это уже пункт 2. Для п1 можно воспользоватся этим:

type
TConDescription = ( cdModem, { Local system uses a modem to connect to the Internet }
cdLan, { Local system uses a local area network to connect to the Internet }
cdUsesProxy, { Local system uses a proxy server to connect to the Internet }
cdModemBusy, { not used }
cdRasInstalled, { Local system has RAS installed }
cdOffline, { Local system is in offline mode }
cdConfigured { Local system has a valid connection to the Internet,
but it may or may not be currently connected }
);



TConDescriptions = set of TConDescription;


const
winetdll = "wininet.dll";

{ from the W2K SDK }
function InternetGetConnectedStateEx(lpdwFlags: LPDWORD;
lpszConnectionName: LPSTR;
dwNameLen: DWORD;
dwReserved: DWORD): BOOL;
stdcall; external winetdll name "InternetGetConnectedStateExA";


function inet_IsConnected(var ConDes: TConDescriptions; var sConName : string): boolean;
var
dwCTp : DWORD;
Buffer : array[0..MAX_PATH - 1] of char;
begin
dwCTp := 0;
Result := InternetGetConnectedStateEx(@dwCTp, Buffer, Sizeof(Buffer)-1, 0);

if Result then sConName := StrPas(Buffer);

ConDes := [];

if ( (dwCTp and INTERNET_CONNECTION_CONFIGURED ) > 0 )
then Include(ConDes, cdConfigured );
if ( (dwCTp and INTERNET_CONNECTION_LAN ) > 0 )
then Include(ConDes,cdLan);
if ( (dwCTp and INTERNET_CONNECTION_MODEM ) > 0 )
then Include(ConDes, cdModem );
if ( (dwCTp and INTERNET_CONNECTION_OFFLINE ) > 0 )
then Include(ConDes,cdOffline );
if ( (dwCTp and INTERNET_CONNECTION_PROXY ) > 0 )
then Include(ConDes,cdUsesProxy );
if ( (dwCTp and INTERNET_RAS_INSTALLED ) > 0 )
then Include(ConDes,cdRasInstalled);

end;



Зы - если не ошибаюсь - InternetGetConnectedStateExA появляется при установке IE5.0 и выше ....

Если IE4 - юзай это

function inet_IsConnected: boolean;
var
dwConnectionTypes : DWORD;
begin
dwConnectionTypes := 0;
Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;






 
Anatoly Podgoretsky   (2002-08-28 01:09) [2]

Правильно пинговать www.microsoft.com именно со смайликом


 
Reindeer Moss Eater   (2002-08-28 07:57) [3]

если подключен то делаю то-то если нет то еще чего-нить делаю.

Делай все наоборот. Если что-то получается делать - ты в инете. Если нет - нет. :)



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.032 c
4-92804
Velocity
2002-09-16 11:44
2002.10.28
Резиденты


4-92820
Карлсон
2002-09-17 17:59
2002.10.28
как поменять иконку?


14-92655
Cr@sh
2002-10-06 10:44
2002.10.28
Где можно найти хороший бесплатный форум?


14-92709
Friend DeMoN-777
2002-10-08 13:16
2002.10.28
Народ оттчего могут появится бэды(много-много) ?


7-92769
programmerts
2002-08-17 18:43
2002.10.28
Вроде лёгкий вопрос, но сложный.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский