Entwickler-Ecke

Windows API - Programm aus System Tray beenden!


`shay´ - Do 28.08.03 11:16
Titel: Programm aus System Tray beenden!
Hi Leute!

Erst mal sorry, dass schon wieder so ne Frage kommt, ich hab mir auch schon diverse Artikel durchgelesen im Forum aber ich bin nicht so Delphi erfahren, dass sie mir helfen würden, also wäre es lieb wenn ihr mir helfen könntet.

Es geht um einen Prozess namens iTouch.exe der immer ausgeführt wird damit die Funktionstasten der Tastatur funktionieren. Wenn man nun aber den Pc herunterfahren will und das Programm offen ist friert er ein (logitech ist das problem bekannt). Es gibt nur eine Lösung und zwar das Programm vorm Herunterfahren zu beenden. Und dafür wollte ich ein Programm schreiben. Also einfach eins wo ich die exe ausführe und es mir so zuerst iTouch und dann sich selbst beendet.
Es ist aber nur in der System Tray sichtbar (itouch)

hoffe ihr könnt mir helfen und solche anfängerfragen nerven euch nit zu sehr ;)

liebe grüße und schonma danke

shay


Delete - Do 28.08.03 13:12

Suche in: Delphi-Forum, Delphi-Library TERMINATEPROCESS


`shay´ - Do 28.08.03 13:23

soweit war ich auch schon... aber es hilft mir nicht wirklich weiter

ich habe noch nie unter delphi win programme aufgerufen geschweige denn beendet.


Terra23 - Do 28.08.03 13:35

Na, nun maul mal nicht gleich rum. Wenn du Luckies Link anklickst, kommst du hier [http://www.delphi-forum.de/viewtopic.php?t=699&highlight=terminateprocess] hin und selbst wenn du es nicht verstehst, ich gehe davon aus, daß du eh nur Code möchtest. Dann kopierst du die Funktion und alles was du dann machen mußt, ist aus die Funktion aufzurufen und anstelle von:


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject); 
begin 
 if TerminateEXE('notepad.exe'then ShowMessage('Anwendung beendet.'); 
end;


setzt du einfach für Notepad.exe den Namen des Programms ein, daß du abschießen willst und ggf. machst du so:


Delphi-Quelltext
1:
2:
3:
4:
5:
If TerminateExe('Name des Tools'Then
Begin
ShowMessage('Programm abgeschossen!');
Close; {Beendet dein Programm}
End;


Das ist doch nicht schwer. Das wird es erst, wenn du versuchst, dich mit dem Code auseinander zu setzen, aber davon bist du sicher noch was entfernt. Ich denke, selbst für Laien ist Luckies Link hilfreich. Ein wenig Engagement muss man eben zeigen..


`shay´ - Do 28.08.03 13:49

das sollte wirklich kein rummeckern sein!
war eben ein bisschen verzweifelt.
vllt hätte ich besser nachschauen sollen...

trotzdem vielen dank für die hilfe!

noch ne anfängerfrage: geht das auch ohne das ich den button drücke, also automatisch wenn ich mein delphi prog ausführe soll es den prozess beenden?

wäre lieb wenn ihr mir nochma helfen könntet... danke


`shay´ - Do 28.08.03 13:57

also mit on create das auführen geht aber es beendet dannach nicht direkt


Delete - Do 28.08.03 14:14

KOnsolen Anwendung machen, die Compilerdirektive {$APPTYPE CONSOLE} rausnehmen, die Funktion TerminateExe vor das begin ... end. kopieren und zwischen dem begin ... end. aufrufen. Eventuell noch benötigte Units in der Uses Klausel hinzufügen.