Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как узнать подключён ли комп к инету?


Автор: Elfet 9.1.2004, 18:41
Как узнать подключён ли комп к инету в C++Builder 6?

Автор: Elfet 9.1.2004, 18:54
Вот сам додумался smile.gif:

String IP = Powersock->LocalIP;
if(IP != "127.0.0.1")
http->Get("http:////asdf.asdf.ru//getip.php?sadf=sdf");

Автор: DENNN 9.1.2004, 19:05
Надежно можно узнать, только если именно проверить доступность инет-ресурса. Присвоенный IP не говорит ни очем.

Автор: Elfet 10.1.2004, 20:26
Мне и так сойдёт smile.gif

Автор: oleg1973 10.1.2004, 22:06
GetInetConnectionStatus
либо попытатся gethostbyname

Автор: kenai 12.1.2004, 15:36
Код

#include <windows.h>
#include <wininet.h>
#include <stdio.h>
#include <conio.h>

typedef BOOL (WINAPI* INETCHECKPROC) (LPDWORD lpdwFlags, DWORD dwReserved);

bool GetStatusConnect()
// возвращает 1, если комп подключен к интеренту, в противном случае - 0
{
   bool bRetVal;
   HINSTANCE hLib = NULL;
   INETCHECKPROC pfnInternetGetConnectedState;

// грузим (в смысле загружаем) библиотеку wininet.dll
   hLib = LoadLibrary("wininet.dll");
   if (!hLib) // если не получилось загрузить библиотеку, то
       return 0; // возвращаем 0


// получаем адрес функции InternetGetConnectedState
   pfnInternetGetConnectedState = (INETCHECKPROC)GetProcAddress(hLib, "InternetGetConnectedState");

// Если не удалось получить адрес функции
   if(!pfnInternetGetConnectedState)
       return false; // возвращаем 0

   DWORD lpdwFlags;

// проверяем соединение
   bRetVal = pfnInternetGetConnectedState(&lpdwFlags, 0) != 0;

   FreeLibrary(hLib); // выгружаем библиотеку
   return bRetVal; // возвращаем статус подключения
}

void main(void)
{
   printf(GetStatusConnect()?"Connected":"Disconnected"); // выводим статус соединения
   printf("\r\nPress any key to continue"); // просим юзверя нажать "any key" на клавиатуре
   while(!_getch()); // ждем нажатия кнопки
   return; // выходим
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)