Code #include <windows.h> #include <wininet.h> #include <stdio.h> #include <conio.h> #include <locale.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) { setlocale(LC_ALL,"Rus"); printf(GetStatusConnect()?"Соединено\n":"Разъединено\n"); // выводим статус соединения system("PAUSE"); return; // выходим } Приложение консольное. Выводит на экран статус соединения с инетом. В данном случае используем для наших целей библиотеку wininet.dll оси Windows и её функцию InternetGetConnectedState. Функция GetStatusConnect производит загрузку библиотеки wininet.dll, определение адреса и выполнение функции InternetGetConnectedState. Может кому пригодится. Code #include <windows.h> #include <wininet.h> #include <stdio.h>
void main(void) { DWORD lpdwFlags; bool bRetVal; bRetVal=InternetGetConnectedState (&lpdwFlags,0); // printf(GetStatusConnect()?"Connected":"Disconnected"); // выводим статус соединения if (bRetVal) printf ("Connect"); else printf ("NOT Connect"); system("pause"); return; // выходим } Облегчённый вариант. Здесь мы просто подключаем библиотеку wininet.dll, для этого используем заголовочный файл wininet.h и просто используем функцию этой библиотеки InternetGetConnectedState. Вот !
|