![]() |
Testen ob Internet-Verbindung besteht
Wie kann ich mein Programm prüfen lassen, ob eine Verbindung mit dem Internet besteht? Es soll dann angezeigt werden, ob eine Verbindung besteht, oder nicht.
|
Re: Testen ob Internet-Verbindung besteht
|
Re: Testen ob Internet-Verbindung besteht
Oder Du lässt im Hintergrund eine Seite aufrufen was aber nicht 100% ist da die Seite auch ausfallen kann.
|
Re: Testen ob Internet-Verbindung besteht
@chris01
das dort gezeigte Beispiel funktioniert überhaupt nicht! Wenn ich das so in mein Programm übernehme meldet sich der Compiler, dass der Befehl, der dort in der zweiten Zeile steht, nicht definiert ist. Was soll das? |
Re: Testen ob Internet-Verbindung besteht
ganz oben bei uses musst du das hier noch hinzufügen:
Delphi-Quellcode:
dann sollte es klappen.
WinInet
Edit: Aber bei mir zeigt es immer an, dass ich eine Verbindung habe, ob dies der Fall ist oder nicht. :gruebel: |
Re: Testen ob Internet-Verbindung besteht
Tut mir wirklich leid, dass ich mich nochmal melden muss, aber es funktioniert bei mir nicht (Delphi 3 Professionel)
Das ist mein Code und ich kann nicht kompilieren:
Delphi-Quellcode:
Wo ist der Fehler? Vielen Dank für eure Geduld :-D
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, WinInet; type TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} function IsInternetConnected: Boolean; begin if InternetGetConnectedState(nil, 0) then begin Result := True; end else begin Result := False; end; end; end. [edit=Christian Seehase]Delphi-Tags korrigiert. Mfg, Christian Seehase[/edit] |
Re: Testen ob Internet-Verbindung besteht
Hallo,
welche Fehlermeldung erhälst Du denn? |
Re: Testen ob Internet-Verbindung besteht
Wie wär's hiermit:
Delphi-Quellcode:
nicht vergessen zuerst uses wininet; aufzunehmen.
procedure TForm1.Button1Click(Sender: TObject);
var lpdwFlags :PDWord; begin if IntenetGetConnectedState(lpdwFlags, 0)then begin checkbox1.Checked := (lpdwFlags^ and INTERNET_CONNECTION_MODEM) <> 0; checkbox2.Checked := (lpdwFlags^ and INTERNET_CONNECTION_LAN) <> 0; checkbox3.Checked := (lpdwFlags^ and INTERNET_CONNECTION_PROXY) <> 0; showmessage('Internet-Verbindung besteht !'); end; end; [edit=Christian Seehase] Delphi-Tags korrigiert. Mfg, Christian Seehase[/edit] |
Re: Testen ob Internet-Verbindung besteht
Moin Delphi-Padawan,
falls D3 InternetGetConnectedState nicht kennt, füg' das hier mal im Interface Abschnitt hinzu:
Delphi-Quellcode:
(dann kannst Du auch die unit wininet weglassen).
function InternetGetConnectedState(lpdwFlags : LPDWORD;dwReserved : DWORD) : longbool; stdcall; external 'wininet.dll';
|
Re: Testen ob Internet-Verbindung besteht
Versuchs einfach mal so:
Delphi-Quellcode:
Ist zwar mit registry funktioniert aber gut...
uses
StdCtrls, registry; function IsConnected: Boolean; var reg: TRegistry; buff: DWORD; begin reg := TRegistry.Create; Reg.RootKey := HKey_local_machine; if reg.OpenKey('\System\CurrentControlSet\Services\RemoteAccess', False) then begin reg.ReadBinaryData('Remote Connection', buff, SizeOf(buff)); Result := buff = 1; reg.CloseKey; reg.Free; end; end; Zweite Möglichkeit:
Delphi-Quellcode:
Dritte Möglichkeit:
uses
WinInet; {...} function IsConnectedToInternet: Boolean; var dwConnectionTypes: DWORD; begin dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY; Result := InternetGetConnectedState(@dwConnectionTypes, 0); end; procedure TForm1.Button1Click(Sender: TObject); begin if IsConnectedToInternet then ShowMessage('Connected.') else ShowMessage('Not Connected.') end;
Delphi-Quellcode:
:drunken: irgendwas sollte ja von denen deinen erwartungen entsprechen...
function IsConnectedToInternet(lpdwFlags: LPDWORD): Boolean;
const WininetDLL = 'wininet.dll'; var hWininetDLL: THandle; dwReserved: DWORD; fn_InternetGetConnectedState: function(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall; begin Result := False; dwReserved := 0; hWininetDLL := LoadLibrary(WininetDLL); if hWininetDLL > 0 then begin @fn_InternetGetConnectedState := GetProcAddress(hWininetDLL,'InternetGetConnectedState'); if Assigned(fn_InternetGetConnectedState) then begin Result := fn_InternetGetConnectedState(lpdwFlags, dwReserved); end; FreeLibrary(hWininetDLL); end else raise Exception.Create('Unable to locate function InternetGetConnectedState in library ' + WininetDLL); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz