Программисты, как проверить подключенность/отключенность Удалённого Соединения из программы (C++ или Delphi)?
Ну, то есть заведено (создано) на компе соединение для доступа к Интернету как обычно - для подключения к провайдеру, по ADSL-технологии, с вводом логина и пароля. И мне надо из своей проги проверять его статус - подключено/отключено (т.е. есть ли реальная связь с Инетом).
Как это сделать? (Я ничего сложнее передачи данных через соединение по локалке, считающееся всегда активным, не писал. И то, просто переделав пример найденный в MSDN).
А цель написания проги: периодически "отваливается" уже подключенное (в ручную) ADSL-Интернет-соединение; и не помогают установки "подключаться при разрыве...": следишь - работает, уйдёшь - тут и обломы, приходится снова ручками подключать. Вот, хочу чтоб прога периодически его "мониторила" и "включала". (Кстати, и включить из проги его - не умею, подскажите как сделать, плиз.)
можно так, но 100% он не дает
function InternetGetConnectedState(lpdwFlags:LPDWORD; dwReserved: DWORD): BOOLEAN; stdcall; external 'Wininet.dll' name'InternetGetConnectedState';
вызывается так
InternetGetConnectedState(@Flag_Stata,0)
если функция вернет True есть какое-то соединение, и тип его. Если нет соединений то вернет False
Под Линуксом - просто проверить наличие сетевого интерфейса. Самый простой способ - команда popen.
Наверняка и под вантузом тоже будет работать.
cmd -скрипт из ping и netsh, зачем что-то сложнее?