Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как законнектиться через Dial-Up соединение по умолчанию

Delphi , Интернет и Сети , Dial-up

Как законнектиться через Dial-Up соединение по умолчанию


Интернетчик орёт на жену:
-Ты изменяла?
Жена:
-Нет, что ты! Как ты мог подумать такое
И:- Нет, лучше сразу скажи, Ты изменяла?
Ж:- Да перестань, и в мыслях не было!
И: - Если я узнаю, что ты изменила, убью!
Ж: - Скажи мне, что случилось?
И: Что-что! В Интернет войти не могу, сервер выдаёт "Ваш пароль неверный"! Не мог-же он сам измениться!(орёт) Ты изменяла?


uses
  Registry, windows;

// Показать или скрыть диалог dial-up
function DUNDialDefault(Hide: Boolean): Boolean;
var
  Reg: TRegistry;
  TempResult: Boolean;
  name, con: string;
  ASW: Integer;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;
  if Reg.OpenKey('\RemoteAccess', False) then
  begin
    TempResult := True;
    name := Reg.ReadString('Default');
  end
  else
    tempresult := False;

  Reg.Free;
  if TempResult = True then
  begin
    if Hide = True then
      ASW := SW_HIDE
    else
      ASW := SW_SHOWDEFAULT;

    con := 'rnaui.dll,RnaDial ' + name;
    ShellExecute(0, nil, 'rundll32.exe' , PChar(con), 'C:\windows\', ASW);
  end;
  Result := tempResult;
end;

В Win2000 и WinXP можно воспользоваться WinInet:

Для этого добавьте WinInet в секцию uses.
Затем используйте следующую команду:


InternetAutoDial (INTERNET_AUTODIAL_FORCE_ONLINE, handle); 

handle = родительское окно

Похоже, вы пытаетесь установить по умолчанию соединение Dial-Up с помощью регистра и ShellExecute. Вот разбор кода:

Функция DUNDialDefault принимает параметр Hide, который определяет, отображать или скрывать диалоговое окно Dial-Up.

  1. Создается объект регистра (Reg) и устанавливается корневой ключ в текущий пользовательский регистр.
  2. Открывается ключ "RemoteAccess" и читается строковая переменная "Default". Она, якобы, содержит имя по умолчанию Dial-Up соединения.
  3. Если ключ найден, то TempResult устанавливается в True. В противном случае - в False.
  4. Объект регистра освобождается.
  5. Если Hide равен True, функция использует стиль SW_ HIDE для скрытия диалогового окна. В противном случае - стиль SW_SHOWDEFAULT.
  6. Конструируется строка команды с использованием библиотеки "rnaui.dll" и имени по умолчанию Dial-Up соединения, а затем команда ShellExecute.
  7. Функция возвращает TempResult.

Однако, есть некоторые проблемы с этим кодом:

  • Ключ регистра может не существовать или быть неправильным, что может привести к ошибкам.
  • Команда ShellExecute не является корректно форматированной, что может вызвать проблемы.
  • Нет обработки исключений для потенциальных ошибок.

Чтобы улучшить этот код, вы можете рассмотреть следующие предложения:

  1. Добавьте правильную обработку ошибок с помощью блоков try-except.
  2. Используйте более надежный способ определения имени по умолчанию Dial-Up соединения, например, проверка существования ключа регистра и типа переменной.
  3. Формируйте команду ShellExecute правильно с использованием конкатенации строк или интерполирования.

В отношении вашего вопроса о том, как подключиться к Dial-Up по умолчанию:

В Windows 2000 и XP можно использовать WinInet для программного установления Dial-Up соединения. Вот обновленная версия кода, которая использует этот подход:

uses
  WinInet;

function DUNDialDefault: Boolean;
var
  handle: HWND;
begin
  InternetAutoDial(INTERNET_AUTODIAL_FORCE_ONLINE, handle);
end;

Этот код использует функцию InternetAutoDial из WinInet для установления Dial-Up соединения. Вы можете передать INTERNET_AUTODIAL_FORCE_ONLINE, чтобы заставить соединение быть онлайн.

Обратите внимание, что этот подход требует от пользователя наличия корректной конфигурации и учетных данных Dial-Up соединения. Если вы ищете более надежный способ, рассмотрите использование других библиотек или API, специально предназначенных для сетевой подключенности.

Как соединиться с Dial-Up интернетом по умолчанию: можно использовать функцию DUNDialDefault или WinInet в приложении Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Dial-up ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 23:34:03/0.00370192527771/0