AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi DSL-Verbindungsmonitor!
Thema durchsuchen
Ansicht
Themen-Optionen

DSL-Verbindungsmonitor!

Ein Thema von richard_boderich · begonnen am 6. Dez 2004 · letzter Beitrag vom 31. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 20:53
hallo leute,

ich moechte mir ein kleines tool programmieren, das den
zustand meiner dsl verbindung erkennt, meine aktuelle internet-ip anzeigt
und bei trennung wieder verbindet.

hatt jemand eine idee oder vorschlag wie ich beginnen kann?

indy oder api und sockets?

es gibt doch auch ein problem dem verbindungsstatus herauszufinden,
wenn ich im forum richtig gelesen hab.

danke schonmal vorweg

euer richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#2

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 20:57
moin,


also das mit dem verbinden und trennen dürfte wohl etwas komplizierter werden.

wie du deine ip herausbekommst findest du hier:
http://www.delphipraxis.net/internal...5&highlight=ip

//Edit

hier weitere links (müsste erstma alles ein was du suchst )
http://www.delphi-source.de/tipps/?id=160
http://www.delphi-source.de/tipps/?id=169
http://www.delphi-source.de/tipps/?id=595
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#3

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:02
hi delpmen,

ich muss dazu sagen das ich nicht über nen router gehe sondern per
dfü verbindung einwaehle. da muesst es doch apis geben um den
connection status rauszufinden oder?

der code den du mir empfohlen hast will ich nicht nehmen,da ich da
auf externe internetdienste angewiesen bin. sind die mal nicht erreichbar
is kacke mit der funktion
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#4

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:04
^^ siehe oben

Zitat:
will ich nicht nehmen,da ich da
auf externe internetdienste angewiesen bin
was meinst du damit ?
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#5

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:09
he danke delphmen,

die neuen links sind das was ich suchte.
many thx
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Dakuba

Registriert seit: 14. Nov 2004
Ort: Düsseldorf
9 Beiträge
 
Delphi 4 Standard
 
#6

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:13
Das ist aus der Delphi Source Library hoffe des hilft dir:


Folgender Code stellt eine komplette Unit eines Formulars dar, die beim Klicken auf den Button feststellt, ob eineVerbindung ins Internet besteht oder nicht.
Delphi-Quellcode:
unit CheckInternetConnection1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Registry, WinSock, WinInet;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
      { Private-Deklarationen }
    public
      { Public-Deklarationen }
    end;

const
  cERROR_BUFFER_TOO_SMALL = 603;
  cRAS_MaxEntryName = 256;
  cRAS_MaxDeviceName = 128;
  cRAS_MaxDeviceType = 16;

type
  TConnectionType = (ctNone, ctProxy, ctDialup);
  ERasError = class(Exception);
    HRASConn = DWord;
    PRASConn = ^TRASConn;
    TRASConn = record
      dwSize: DWORD;
      rasConn: HRASConn;
      szEntryName: array[0..cRAS_MaxEntryName] of Char;
      szDeviceType: array[0..cRAS_MaxDeviceType] of Char;
      szDeviceName: array [0..cRAS_MaxDeviceName] of char;
    end;
    TRasEnumConnections = function (RASConn: PrasConn; var BufSize: DWord;
     var Connections: DWord): LongInt; stdcall;

var
  Form1: TForm1;

function ConnectedToInternet: TConnectionType;
function RasConnectionCount: Integer;

implementation

{$R *.DFM}

function ConnectedToInternet: TConnectionType;
var Reg: TRegistry;
  bUseProxy: Boolean;
  UseProxy: LongWord;
begin
  Result := ctNone;
  Reg := TRegistry.Create;
  with REG do
    try
      try
        RootKey := HKEY_CURRENT_USER;
        if OpenKey('Software\Microsoft\WindowsCurrentVersion\Internet settings',
        false) then begin
          if GetDataType('ProxyEnable') = rdBinary then
            ReadBinaryData('ProxyEnable', UseProxy, SizeOf(LongWord))
          else begin
            bUseProxy := ReadBool('ProxyEnable');
            if bUseProxy then UseProxy := 1
            else UseProxy := 0;
          end;
          if (UseProxy<>0) and (ReadString('ProxyServer')<>'' ) then Result := ctProxy;
        end;
      except
      end;
    finally
      Free;
    end;
    if Result = ctNone then begin
      if RasConnectionCount > 0 then Result := ctDialup;
    end;
end;

function RasConnectionCount: Integer;
var RasDLL: HInst;
  Conns: array[1..4] of TRasConn;
  RasEnums: TRasEnumConnections;
  BufSize: DWord;
  NumConns: DWord;
  RasResult: Longint;
begin
  Result := 0;
  RasDLL := LoadLibrary('rasapi32.dll');
  if RasDLL = 0 then exit;
  try
    RasEnums := GetProcAddress(RasDLL,'RasEnumConnectionsA');
    if @RasEnums = nil then
      raise ERasError.Create('RasEnumConnectionsA not found in rasapi32.dll');
    Conns[1].dwSize := Sizeof (Conns[1]);
    BufSize := SizeOf(Conns);
    RasResult := RasEnums(@Conns, BufSize, NumConns);
    if (RasResult = 0) or (Result = cERROR_BUFFER_TOO_SMALL) then Result := NumConns;
  finally
    FreeLibrary(RasDLL);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Status: TConnectionType;
  sMsg: string;
begin
  Status := ConnectedToInternet;
  if Status = ctDialup then sMsg := 'Im Internet!';
  if Status = ctNone then sMsg := 'Nicht im Internet!';
  if Status = ctProxy then sMsg := 'Proxyserver';
  ShowMessage(string(sMsg));
end;

end.
David
George W. Bush (Präsident der USA) : "Die große Mehrzahl unserer Importe kommt von außerhalb des Landes"!!!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:16
Setzen 6:
Zitat:
---------------------------
Project1
---------------------------
Nicht im Internet!
---------------------------
OK
---------------------------
Ich bin aber definitiv online, da ich gerade diesen Beitrag schreibe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:22
Der Code dürfte auch nur Überprüfen, ob man sich mittels DFÜ-Verbindung im Internet befindet, ist dies nicht der Fall, wird die Verbindung nicht erkannt.
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#9

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:22
hmmm...

bei mir gehts auch net !

Zitat:
Nicht im Internet
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#10

Re: DSL-Verbindungsmonitor!

  Alt 6. Dez 2004, 21:45
so jungens bin jetz am coden,

mir fehlt aber immer noch ne methode die ip des dfü adapters abzufragen.
hatt da denn keiner nen api call zur hand?
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz