Autor Beitrag
LokutusvB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 74

WinXP
Delphi 5, Delphi XE
BeitragVerfasst: Do 10.07.08 14:01 
Hallo Leute,

ich plage mich jetzt schon fast eine Woche mit diesem Thema herum. Ich habe via Application.ProcessMessages und Sendkey ein externes Programm beendet, was jedoch sein Symbol im Infobreich hat. Mit dem Beenden des Programmes jedoch wird das Symbol nicht automatisch aus dem Infobereich von Windows entfernt, sondern erst mit dem Bewegen des Nauszeigers über das Symbol. Im großen weitern Internet stöst man für Delphi immer nur auf 2 Lösungen, die jedoch alle beide nicht funktionen, entweder ist das das WM_MOSEMOVE-Event über den Infobereich, oder gar die ganze Taskleiste oder aber das Absetzten einer Message 106597.

Hat sich hier im Forum schon einmal jemand erfolgreich diesem Thema angenommen und konnte es auch lösen?
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Do 10.07.08 14:26 
Hallo!

Dass das TNA nicht ordnungsgemäß zerstört wird, liegt daran, dass du wahrscheinlich die Anwendung nicht korrekt beendest.

Ist zum Beispiel ein Programm in der TNA und es wird über den Taskmanager beendet, bleibt das Icon stehen.

Beendet man es hingegen über die vorgesehene Schließen-Funktion der Anwendung, so kümmert sich diese auch mit bzw. sollte sich diese auch mit um die Auflösung des TNA-Icons kümmern.

Wie beendest du die Anwendung?

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
LokutusvB Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 74

WinXP
Delphi 5, Delphi XE
BeitragVerfasst: Do 10.07.08 16:19 
Ich beende diese Anwendung über das Handle des Taskmanagers, sprich ...TerminateProcess(hProcess, 0);...

Hierbei handelt es sich um 2 Prozesse, die sonst nur über das Icon in der Infoleiste zu beenden sind, über Rechtsklick und Exit (openvpn.exe, openvpn-gui.exe). Diese beiden Dateien haben leider keinen Parameter, mit dem man das Openvpn sauber beenden kann, deswegen meine Lösung über das Handle des Taskmanagers.
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Do 10.07.08 16:26 
man müsste windows zwingen den bildschirm neu zu zeuchnen bzw. zumindest die notificaton area... ka ob man da einfach ne message hinschicken kann oder so...

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 10.07.08 17:29 
user profile iconLokutusvB hat folgendes geschrieben:
Ich beende diese Anwendung über das Handle des Taskmanagers, sprich ...TerminateProcess(hProcess, 0);...

Das ist sicherlich nicht der richtige Weg. Du solltest lieber versuchen, eine Message zu schicken - zum Beispiel WM_COSE.

Wie man den TNA updated, weiß ich leider nicht.
LokutusvB Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 74

WinXP
Delphi 5, Delphi XE
BeitragVerfasst: Fr 11.07.08 16:27 
Titel: Problem gelöst
Das radikale "Abschließen" des Prozesses über das Handle ist der falsche Weg gewesen.

Das Delphi Tool WinSight hat mir den Fenstertext und den Klassennamen des versteckten Fesnters der VPN-Anwendung verraten. So kann ich nun über SendMessage ein WM_Close senden, den Rest abarbeiten, die Anwendung schließt sich und das Symbol ist aus dem Infobereich verschwunden.

Danke für die Hilfe!!! :)