AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Symbol aus "Infobereich" entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Symbol aus "Infobereich" entfernen

Ein Thema von LokutusvB · begonnen am 10. Jul 2008 · letzter Beitrag vom 11. Jul 2008
Antwort Antwort
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#1

Symbol aus "Infobereich" entfernen

  Alt 10. Jul 2008, 14:02
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?
MFG
LokutusvB
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Symbol aus "Infobereich" entfernen

  Alt 10. Jul 2008, 14:11
Warum so kompliziert?

Bei Beenden von Windows wird doch eine Message an alle Programme gesendet, dass sie sich gefälligst beenden sollen.
Dann kann sich jedes Programm vernünftig beenden und sogar das Tray-Icon entfernen.
Diese Message (oder eine ähnliche) kannst Du dem Programm senden und es schliesst sich selbst.

Wie Du das Programm beendet hast, ist mir zwar nicht klar, aber Du hast es offensichtlich abgewürgt. Dann ist klar, dass es sein TrayIcon nicht mehr entfernen kann.
Das wäre so, wie wenn Du es im Taskmanager abknallen würdest. Da kann das Programm auch nix mehr aufrüumen.

Warum muss man immer gleich zur Atombombe greifen, wenn es auch mit einer Trillerpfeife getan ist?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Symbol aus "Infobereich" entfernen

  Alt 10. Jul 2008, 14:16
Probier doch mal die Remove-Funktion von hier umzubauen.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#4

Re: Symbol aus "Infobereich" entfernen

  Alt 10. Jul 2008, 14:18
Ja, das Programm habe ich über den Taskmanagerhandle abgeschossen, da ich bisher für externe Programme keinen anderen Weg kenne. kannst du mir bitte ein paar Stichpunkte für das Beenden externer Programme über Delphi geben, wo ich mich mal ein wenig einlesen kann?

Zusatz:
Danke für den Tip mit der Remove-Funktion, das werde ich gleich mal durcharbeiten.
MFG
LokutusvB
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Symbol aus "Infobereich" entfernen

  Alt 10. Jul 2008, 14:30
Zitat von LokutusvB:
Ja, das Programm habe ich über den Taskmanagerhandle abgeschossen, da ich bisher für externe Programme keinen anderen Weg kenne. kannst du mir bitte ein paar Stichpunkte für das Beenden externer Programme über Delphi geben, wo ich mich mal ein wenig einlesen kann?

Zusatz:
Danke für den Tip mit der Remove-Funktion, das werde ich gleich mal durcharbeiten.
Such mal nach den Windows-Signale WM_ENDSESSION und WM_QUERYENDSESSION.
Vielleicht auch WM_CLOSE oder so in der Richtung.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#6

Problem gelöst

  Alt 11. Jul 2008, 16:28
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 Fensters 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!!!
MFG
LokutusvB
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz