Акжан в сети - На уровень вверх(W95) Как получить список установленных модемов в Win95/98?

unit PortInfo;


interface


uses Windows, SysUtils, Classes, Registry;


function EnumModems : TStrings;


implementation


function EnumModems : TStrings;


var
  R : TRegistry;
  s : ShortString;
  N : TStringList;
  i : integer;
  j : integer;
begin
  Result:= TStringList.Create;
  R:= TRegistry.Create;
  try
    with R do begin
      RootKey:= HKEY_LOCAL_MACHINE;
      if OpenKey('\System\CurrentControlSet\Services\Class\Modem', False) then
      if HasSubKeys then
      begin
        N:= TStringList.Create;
        try
          GetKeyNames(N);
          for i:=0 to N.Count - 1 do begin
            closekey; { + }
            openkey('\System\CurrentControlSet\Services\Class\Modem',false); { + }
            OpenKey(N[i], False);
            s:= ReadString('AttachedTo');
            for j:=1 to 4 do
              if Pos(Chr(j+Ord('0')), s) > 0 then
                Break;
            Result.AddObject(ReadString('DriverDesc'),TObject(j));
            CloseKey;
          end;
        finally
          N.Free;
        end;
      end;
    end;
  finally
    R.Free;
  end;
end;

end.

Stas Malinovski

(2:5042/6.6)

Кириллов Арсен Викторович

eg@ipm.lviv.ua