![]() |
TNA Icon von abgeschossener Anwendung entfernen/bereinigen
Hallo Forum,
leider habe ich hier und bei Google noch nichts passendes gefunden. Gibt es eine Möglichkeit die Icons aus der TNA zu entfernen von den "fremden" Programmen die man abgeschossen hat? In welcher Richtung kann man da suchen, stehe gerade wie der Ochs vorm Berg... Gruß Christian |
Re: TNA Icon von abgeschossener Anwendung entfernen/bereinig
Wenn du manuell meinst: einfach mit der Maus über das Icon fahren, dann haut Windows dies weg.
|
Re: TNA Icon von abgeschossener Anwendung entfernen/bereinig
Zitat:
Das weis ich auch, habe einen (sagen wir mal) BOT geschrieben, der in bestimmten Situationen eines der Programme abschießst (WM_Close lässt Bot und Anwendung einfrieren) und da das ganze auf einem Server läuft schaut da auch kaum jemand. OK, hier geht es jetzt zwar mehr um Kosmetik, aber ich hoffe das es dazu doch was gibt im Sinne von Bereinigung/Neu Aufbauen oder so... Bis dann Christian |
Re: TNA Icon von abgeschossener Anwendung entfernen/bereinig
servus!
ich habe auch ein programm geschrieben, dass im SystemTray angezeigt wird (wenn minimiert). ich bin dabei nach diesem beispiel gegangen: ![]() jedoch musste ich feststellen, dass das trayicon auch nach programmende bleibt. ich konnte das beheben, indem ich beim ereignis 'onDestroy' dann die procedure 'TaskBarRemoveIcon' gesetzt habe, welche ebenfalls aus dem oben genannten beispiel stammt. ich hoffe das hilft dir weiter. bin kein delphi-experte :) gruß ;) |
Re: TNA Icon von abgeschossener Anwendung entfernen/bereinig
Zitat:
|
Re: TNA Icon von abgeschossener Anwendung entfernen/bereinig
Zitat:
Hi Dank Dir!!! habe es jetzt so geschafft:
Delphi-Quellcode:
Original aus dem Beispiel war:
procedure RemoveCMSIcon;
var tnid: TNotifyIconData; Owner,wnd: HWnd; begin wnd := FindWindow('ThunderRT6FormDC', '!!!!NAMEVONDEMFENSTERWASABGESCHOSSENWIRD!!!!'); if wnd <> 0 then Begin tnid.cbSize := SizeOf(TNotifyIconData); tnid.Wnd := wnd; tnid.uID := 1; Shell_NotifyIcon(NIM_DELETE, @tnid); Owner:=GetWindow(wnd,GW_OWNER); If Owner<>0 Then Begin ShowWindow(Owner,SW_Show); ShowWindow(Owner,SW_Normal); End; End; end;
Delphi-Quellcode:
procedure TaskBarRemoveIcon; var tnid: TNotifyIconData; Owner: HWnd; begin tnid.cbSize := SizeOf(TNotifyIconData); tnid.Wnd := Form1.Handle; tnid.uID := 1; Shell_NotifyIcon(NIM_DELETE, @tnid); Owner:=GetWindow(Form1.Handle,GW_OWNER); If Owner<>0 Then Begin ShowWindow(Owner,SW_Show); ShowWindow(Owner,SW_Normal); End; end; Das Klappt so super... Danke für die Anregung/Tipp!!! Edit: Zur Erklärung, bevor die Anwendung abgeschossen wird, muss das Handle vom entsprechenden Fenster rausgefunden werden und dann erst das TNA-Icon killen und dann die eigentliche Anwendung... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz