Esto me funciona con mi supermodem 56k en windows 98 y XP
Ojalá te pueda servir de algo.
Código:
uses wininet;
procedure TForm1.Button1Click(Sender: TObject);
var conectado:boolean;
begin
conectado:= internetgetconnectedstate(0,0);
label1.Visible:=true;
if conectado then
begin
label1.Caption:='SI';
end
else
begin
label1.Caption:='NO';
end;
end; // button1click
procedure TForm1.Button2Click(Sender: TObject);
begin
InternetAutodialHangup(INTERNET_STATE_DISCONNECTED_BY_USER);
// internethangup(0,0);
end;
procedure TForm1.Button3Click(Sender: TObject);
var c:boolean;
begin
c:=internetgetconnectedstate(lpdword(INTERNET_CONNECTION_MODEM),0);
label2.Visible:=true;
if c then
begin
label2.Caption:='SI';
end
else
begin
label2.Caption:='NO';
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var c:boolean;
begin
c:=internetgetconnectedstate(lpdword(INTERNET_CONNECTION_MODEM_BUSY),0);
label3.Visible:=true;
if c then
label3.Caption:='SI'
else
label3.Caption:='NO';
end;