Если соединение по средствам vpn,pppoe,dial-up.Запускаем команду rasdial ,которая отобразит соединения пусть скинет их в файл ,написать батник который будет проверять этот файл (проверку можно осуществить с помощью IF exist file.net start service(или start file /B) и всю эту бадягу засунуть в schtasks.Так же осуществить проверку по sc query служба,если Running не чего не делаем.В случае программы смотрим tasklist. Остальные методы подскажут другиеучастники форума.