Получить список установленных модемов в Win95-98 2
function EnumModems: TStrings;
var
R: TRegistry;
s: ShortString;
N: TStringList;
i, 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(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;
|
|