15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту




Как получить все Dial-Up соединения

Способ 1 - из реестра:

Uses Registry;

Function DUNGetConnections( Out OutList : TStringList) : Boolean;
var Reg : TRegistry;
begin
OutList.Clear;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\RemoteAccess\Profile', False) then
  begin
    Reg.GetKeyNames(OutList);
    Result := True;
  end
else begin
Result := False;
end;
Reg.Free;
end;

 

Способ 2 - через RASApi:

Для этого воспользуемся функцией Use RASEnumConnections.
Далее можно определить состояние каждого соединения при помощи RASGetConnectStatus.
Так же можно использовать RASEnumEntries для получения всех сервисов из определённой телефонной книжки.

Толька для этого потребуется преобразовать заголовочный файл RAS.h в эквивалент Delphi.