Zitat von
justify:
Huhu,
sorry, da hab' ich dann wohl was verwechselt - ist ja aber auch egal!
Es geht um eine kleine Unterkategorie, die nur testen soll, ob eine LAN-Verbindung hergestellt ist oder nicht und dementsprechend was ausgeben soll, also "verbunden" oder "nicht verbunden"!
Das alles soll bei einem Buttonklick passieren.
Könntest Du mir sagen, wie ich den Code abändern muß, damit es genau so geschieht?
Du kannst die Prozedur von oben übernehmen und in deine Button.click Prozedur eintragen (zu oberst).
-Entferne alle Logfileschreiben Zeilen die brauchst du indem Fall nicht. Uses Registry nicht vergessen!
Würde sagen so müssts gehn:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, registry, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
function NetworkConnect : Boolean;
var
reg : TRegistry;
i : Integer;
NetworkCards :
String;
begin
result := false;
reg := TRegistry.Create(KEY_READ);
reg.RootKey := HKEY_LOCAL_MACHINE;
for i := 0
to 15
do //Mehr als 15 Netzwerkkarten sollte kein normaler Rechner haben...
begin
if reg.KeyExists('
\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\' +inttostr(i)) = true
then
begin
reg.OpenKey('
\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\' +inttostr(i),false);
NetworkCards := reg.ReadString('
ServiceName');
// break;
if NetworkCards <> '
'
then
begin
reg.OpenKey('
\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\'+NetworkCards,false);
if reg.ReadString('
DHCPDomain') <> '
'
then
begin
result := true
end else
begin
result := false;
end;
end;
end;
end;
reg.Free;
end;
begin
// Network Cable unplugged?
if networkconnect=true
then
begin
showmessage('
Netzwerkkabel ist eingesteckt!');
end else
begin
showmessage('
Netzwerkkabel ist ausgesteckt!');
end;
end;
end.