Thema: Delphi Probleme mit netstat

Einzelnen Beitrag anzeigen

Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#1

Probleme mit netstat

  Alt 17. Sep 2007, 00:03
hallo liebe Delphigemeinde!

Hab mal wieder ein Problem...

Ich will mit einem Timer jede Sekunde oder so den internet verkehr prüfen, ob dort eine bestimmte .exe dabei ist...
also überprüfe ich das mit der unit DosCommand, die ich hier iwo gedownloadet habe und habe folgenen code

Delphi-Quellcode:
var
  cmd : TDosCommand;
  sl: TStringList;
  i,a:integer;

begin
  i:=0;
  a:=0;
  cmd:= TDosCommand.Create(nil);
  sl := TStringList.Create;
  cmd.OutputLines:=sl;
  cmd.InputToOutput:=true;

  cmd.CommandLine:='netstat -b';
  cmd.Execute;
  while cmd.IsRunning do
    application.ProcessMessages;
  FreeAndNil(cmd);
  i:=Pos('[blabla.exe]', sl.Text); //durchsuche den Text nach der .exe
  a:=Pos('12345', sl.Text); //durchsuche sicherheitshalber den text auch nach dem Port
   if (i=0) or (a=0) then
  begin
  showmessage('ACHTUNG');
  end;
  sl.Free;
end;
so das funktioniert auch alles nur manchmal

1. hängt sich der PC iwie auf und öffnet ganz oft netstat.exe aber schließt diese nicht mehr... (bei einem anderen PC kommt das oft vor)

2. hat das gesuchte programm, dass ins internet zugreift, manchmal etwas andere probleme, bei denen zwar das programm nicht mehr arbeitet aber dennoch gestartet, ins internet zugreift und den selben Port benutzt...

also kennt vllt jemand eine möglichkeit, mein vorhaben zu verwirklichen ohne andere .exe zu öffnen und was vllt bisschen genauer arbeitet?

vielen dank schonmal für eure hilfe im vorraus
mfg
Innos
  Mit Zitat antworten Zitat