Hihi, ich hab auch grad einen Internetkosten-Zaehler gemacht
Hier, so geht es ganz einfach:
Code:
uses WinInet;
...
procedure TForm1.Button1Click(Sender: TObject);
var flags: Dword;
begin
if InternetGetConnectedState(@flags, 0) then {mache irgendwas}
end;
Wenn du auch noch rausfinden willst, was für eine Verbindung aufgebaut wurde nimm folgendes:
Code:
uses WinInet;
...
const
MODEM = 1;
LAN = 2;
PROXY = 4;
BUSY = 8;
...
public declaration //von Form1
function GetConnectionKind(var strKind: string): Boolean;
end;
...
implementation
function Tform1.GetConnectionKind(var strKind: string): Boolean;
var flags: DWORD;
begin
strKind := 'Keine Verbindung';
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and MODEM) = MODEM then strKind := 'Modem-Verbindung';
if (flags and LAN) = LAN then strKind := 'LAN-Verbindung';
if (flags and PROXY) = PROXY then strKind := 'Proxy-Verbindung';
if (flags and BUSY) = BUSY then strKind := 'Modem Busy';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var strKind : string;
begin
if GetConnectionKind(strKind) then showmessage(StrKind);
end;
damit zeigst du eine Message mit dem Verbindungstyp.
Nun, es gibt auch noch andere Möglichkeiten...
du kannst dir die TRasMonitor-Komponente (im Anhang) herunterladen und installieren, dann kannst du mit dem Timer schauen, ob "RasMonitor1.online = true" ist.
MfG Lefko
P.S. Ich hab mein Programm mal angehängt, vielleicht kannst du dir ein wenig Inspiration holen