Trayicon anderer Anwendung entfernen
-
Zu meinem Problem:
Ich muss eine andere Anwendung beenden. Die entsprechenden Aufrufe bietet
mir diese Anwendung nicht, ich kann deren Service aber stoppen (was mir
auch reicht).Nun muss aber auch das Icon der Fremdanwendung aus dem Tray verschwinden,
da es von mir später erneut geladen werden soll
Das passiert allerdings nur dann, wenn man mit der Maus über das Icon fährt...Da das Programm an unserem Server läuft, bauen sich u.U. dort zig von den Icons
im Tray auf
Kann ich irgendwie das Icon durch nen "Refresh" des Tray entfernen?
-
Tja, wenn du einen Prozess von hinten erschiesst musst du dich nicht wundern, wenn der Prozess nicht mehr aufräumen kann und eben Müll übrigbleibt.
Kann ich irgendwie das Icon durch nen "Refresh" des Tray entfernen?
Warum probierst du es nicht einfach aus?
Aber wenn du schon sagst:
Da das Programm an unserem Server läuft, bauen sich u.U. dort zig von den Icons im Tray auf
Frage ich mich, ob da nicht was grundsätzlich falsch läft. Wie oft schieest du denn um Gottes Willen den Prozess ab?
-
Warum probierst du es nicht einfach aus?
Wenn du mir sagst wie?
-
InvalidRect
-
nicht ganz: InvalidateRect()

-
Ok, ich muss den Spaß irgendwie gebacken bekommen... Obwohl ich da langsam
echt Frust schiebe
Ich probiere jetzt folgendes:
HWND fenster; fenster=FindWindow("Shell_TrayWnd",NULL); InvalidateRect(fenster,NULL,TRUE);In der Hoffnung jetzt alles aktualisieren zu können.
Geht natürlich nicht. Es passiert nix.Was ist da jetzt falsch? Ich sage doch das soll auf das Tray angewendet werden
und mit NULL sage ich ihm doch, dass es das ganze hwnd betrifft, oder wie?

Hab jetzt auch schon mit UpdateWindow rumgewerkelt, mit PostMessage und all
dem Zeugs. Keine Idee wie ich das je hinbekommen soll
Aber ich nix Chef hier in Firma...
-
Es geht dann wohl nicht übers Neuzeichnen. Ich habs auch mal ausprobiert. Programm mit Tray-Icon gestartet, über Task-Manager beendet. Dann die nix-fixierte Taskleiste klein gemacht und wieder groß gemacht. Das Icon war noch da.
-
Tja, dann wirds wohl nix mit dem entfernen des Icon!
Außer ein Foren-Crack hat noch ne brauchbare Idee oder
nen Ansatz einer Idee dazu.
-
hat die anwendung keine fenster? sonst könntest du doch WM_CLOSE schicken damit es sich sauber beendet.
-
Das ist klar... du kannst höchstens noch versuchen einfach das Icon zu entfernen... oder dir das Rect des Wnds holen... dann die Iconpos berechnen und ne MouseMove Msg an das Fenster mit den Koordinaten schicken

-
WM_CLOSE habe ich bereits erfolglos gesendet. Die Anwendung hat kein eigenes
Fenster/Dialog. Das macht die Sache vermutlich auch so kompliziert und fast
aussichtslos.
-
lol und wohin haste dann versucht WM_CLOSE zu senden?
-
wie soll die anwendung normalerweise beendet werden? mit strg del entf?

-
Archy schrieb:
WM_CLOSE habe ich bereits erfolglos gesendet. Die Anwendung hat kein eigenes Fenster/Dialog.
Das kann nicht sein. Wenn du dich mal damit beschäftigt hättest, wie man so ein Icon in die TNA bekomment und wie man Nachrichten für ein Icon dort behandelt, dann wüsstest du, dass es ohne Fenster nicht geht. Denn an welches Fenster soll Windows seine Nachrichten schicken für das Menü etc?
-
Ah, ja habs jetzt auch gesehen. Das hat zwar ein Fenster, aber das Beenden
mit WM_CLOSE bringt nix. Name des Fenster ist "Remote Control Viewer - Max".
Da geht dann auf der Taskleiste ein Fenster auf, das man aber nie richtig zu
sehen bekommt. Es gammelt in der Taskleiste rum
Nach WM_CLOSE verschwindet es da und das Trayicon lebt fröhlich weiter vor sich hin....
-
Kann man das Programm denn per Hand normal beenden?
-
Ja, über Rechtsklick im Trayicon. Dort dann "Exit".
Aber an die Nachricht komme ich nicht ran.
-
Aber an die Nachricht komme ich nicht ran.

-
????????????? schrieb:
Aber an die Nachricht komme ich nicht ran.

Der Hilfstroll ?????????????
-
!!!!!Jochi schrieb:
????????????? schrieb:
Aber an die Nachricht komme ich nicht ran.

Der Hilfstroll ?????????????
