Поведение 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 функционирует напрямую.

Другие вопросы по тегам