PDA

Ver la Versión Completa : Comprobar la existencia de un modem en PC


S.M.S.
18-02-2005, 09:21:48
Hola, tengo una aplicación que dispone de una opción para con las TAPI realizar una llamada telefónica a través del modem del PC. Sin embargo me gustaría que esta opción no estuviera disponible si no se cuenta con el harware necesario. ¿Cómo puedo comprobar previamente esto?

Saludos.

S.M.S.
22-02-2005, 12:09:24
Creo que podría ser de la forma que pongo a continuación, al menos así me funciona en un ordenador con W98. Desconozco si esto mismo es válido para versiones posteriores de Windows. Agradecería sus comentarios en este sentido.

function TengoModem: Boolean;
var
R: TRegistry;
S: TStringList;
i: integer;
begin
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
S:= TStringList.Create;
try
GetKeyNames(S);
for i := 0 to S.Count-1 do
begin
OpenKey(S[i], False);
Result:= ValueExists('DriverDesc');
CloseKey;
if Result then Break;
end;
finally
S.Free;
end;
end;
end;
finally
R.Free;
end;
end;

Saludos.