Четверг, 17.07.2025, 05:35
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
.:: Меню ::.
.:: Категории каталога ::.
Разное [5]
Различные темы по программированию
Пакет SWT [4]
Практикуемся в написании оконных приложений на Java
Среды разработки, компиляторы и т.п [3]
Сравнения, описания, плюсы и минусы сред разработки. Сравнение компиляторов.
Java [8]
Объектно-ориентированные соображения.
Си++ [19]
Коротко и ясно
Ассемблер [6]
Машинные коды, побитно :)
Форма входа
.:: Поиск ::.
.:: Дополнительно ::.
    Хостинг от Loqo.ru
             .:: Коментируем ::.
Главная » Статьи » Текстовый материал » Си++

Узнаём программно, подключены ли мы к интернету
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.
Вот !

Категория: Си++ | Добавил: C0demaker (14.09.2009)
Просмотров: 1674 | Рейтинг: 5.0/1
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ant1 © 2025