Поведение RASPHONE.exe в XP и Windows 7
Я вызвал "Rasphone.exe" из моего кода C, используя "ShellExecuteEx" для создания коммутируемого соединения. Я обнаружил различное поведение в Windows XP и Windows 7.
Поведение в Windows XP: подключение RASDial создается без всплывающего окна.
Поведение в Windows 7: всплывающее окно DialUp, запрашивающее номер для набора. Я не ввел ни одного номера и нажал кнопку "Набрать". Связь подключается. Ниже приведен снимок окна, которое я получаю в Windows 7?
В чем причина различий в поведении?
1 ответ
В чем причина различий в поведении?
Windows 7 - это другая операционная система, отличная от Windows XP. До изобретения Metro команде Windows было нечего делать, поэтому они сидели, меняя кучу старого кода, просто чтобы увидеть, заметил ли кто-нибудь. Похоже, вы нашли одну из вещей, которые они изменили.
Не беспокойтесь, хотя. Код, который вы имели, был обречен в первую очередь. Правильный способ набрать сетевое соединение - не запускать приложение для набора номера в сети, а вызывать API, предоставленный для этой цели.
Название API, которое вы хотите, - WinINet, и вы найдете документацию по нему здесь. В частности, вас заинтересует раздел " Подключение удаленного доступа к Интернету ", в котором упоминается InternetDial
функция
Конечно, они тоже это изменили. Начиная с Windows Vista, эта функция использует API-интерфейс RAS для установления соединения. Пропустить среднего человека, позвонив RasDial
или же RasDialDlg
функционирует напрямую.