Как получить список установленных модемов в Win95/98?
Как получить список установленных модемов в 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.
Взято с сайта