Announcement

Collapse
No announcement yet.

Wie erkenne ich den Status der Internetanbindung ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie erkenne ich den Status der Internetanbindung ?

    Hallo,

    Gibt es eine Möglichkeit, den Internetstatus (on- offline) zu erkennen, auch wenn ich eine lokale (Netzwerk-) Adresse vergeben habe ???

    Mit bestem Dank
    Alex16

  • #2
    Hallo,

    die folgende Funktion sollte die gesuchte Information zurückliefern:
    <pre>
    uses WinInet;

    function InternetConnected: Boolean;
    CONST
    INTERNET_CONNECTION_MODEM = 1;
    // local system uses a modem to connect to the Internet.
    INTERNET_CONNECTION_LAN = 2;
    // local system uses a local area network to connect to the Internet.
    INTERNET_CONNECTION_PROXY = 4;
    // local system uses a proxy server to connect to the Internet.
    INTERNET_CONNECTION_MODEM_BUSY = 8;
    // local system's modem is busy with a non-Internet connection.
    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 InternetConnected then
    ShowMessage('Ich bin drin!');
    end;

    </pre&gt

    Comment


    • #3
      Das ist schon richtig so, nur nach MS Knowledge Base (Q242558) reicht
      das nicht ganz. Innerhalb eines LAN's gibt InternetGetConnectedState
      immer True zurück.

      In dem Zusammenhang gibt es 2 Möglichkeiten:

      1. Die UrlOpen-Funktion aus der WinInet.dll

      oder

      2. die Function IsDestinationReachable via ICMP.
      Hier der Haken: Die obige Funktion liegt in der Sensapi.dll,
      deren Haeder ich nicht finden konnte...

      ...weiß jemand Rat?

      Comment


      • #4
        Hm, ich verwende delphi 3 standart, bei mir wird InternetGetConnectedState
        als undefinierter Bezeichner deklariert, woran kann das liegen

        Comment


        • #5
          Hallo,

          schau mal noch, ob es die Unit <b>wininet.pas</b> auf Deinem Rechner gibt

          Comment


          • #6
            Ja, ich habe die wininet.pas, sie ist ca. 81 kb groß

            Comment


            • #7
              Wenn die Antworten dir nicht reichen, versuch einfach mal die
              Winshoes-Komponenten oder die Komponente iponline. Die zeigt dir auf jedenfall die aktuelle IP und den Verbindungsstatus an. (getestet auf
              LAN/WAN/Remoteverbindung

              Comment

              Working...
              X