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