Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > C/C++: Системное программирование и WinAPI > Как узнать программно статус сетевого подключения? |
Автор: Сергей85 23.07.19, 15:39 |
Windows 2000 SP4, Borland C++ Builder v.6.0. Требуется флаг наличия контакта с внешним миром: "подключено" и "подключение ограничено или отсутствует". |
Автор: Сергей85 20.08.19, 15:49 |
Ап, актуально. Через реестр не смог найти вручную какой-либо параметр. |
Автор: Олег М 21.08.19, 15:36 |
Попробуй через WMI - Win32_NetworkConnection |
Автор: ЫукпШ 21.08.19, 23:39 |
Наверное, это где-то тут: RasEnumEntries RasEnumConnections RasGetConnectStatus RasDial RasHangUp RasGetConnectionStatistics Header Declared in Ras.h. Library Use Rasapi32.lib. DLL Requires Rasapi32.dll. |
Автор: Gonarh 25.08.19, 05:31 |
Цитата Сергей85 @ Требуется флаг наличия контакта с внешним миром: "подключено" и "подключение ограничено или отсутствует". Нет такого флага, и не будет. Только если самому писать функцию. |
Автор: Сергей85 27.08.19, 15:25 |
Инкдуд: #include <WinInet.h>. Библиотека, подключаемая в проект: WinInet.lib весом 21504б; Исходный код: DWORD dwFlag_Returned; //Бросовая переменная. bool bResult= InternetGetConnectedState(&dwReturnedFlag, 0); //Подлючено - true. 0 - похож на номер сетевого подключения в системе. Проблемы: - возможны задержки отображения измененного состояния до 1 минуты (показывает true вместо false); - при нескольких сетевых картах баг: подключенная карта становится нулевой. |
Автор: shm 27.08.19, 17:40 |
Наличие активного подключения никак не гарантирует "связи с внешнем миром". Гораздо надежнее периодически пинговать нужный ресурс. |