AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Tray Icon eines fremden Programms verbergen/anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Tray Icon eines fremden Programms verbergen/anzeigen

Ein Thema von Fellmer Lloyd · begonnen am 26. Jan 2004 · letzter Beitrag vom 2. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#1

Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 26. Jan 2004, 09:07
Hi!

Ich suche eine Möglichkeit, das Tray Icon eines fremden Programms zu verbergen, und bei Bedarf wieder anzuzeigen.
Das Handle des Hauptfensters ist mir bekannt.

Ich habe eine Komponente gefunden mit der dies möglich ist, aber leider ist sie nicht Open Source.
Die funktion "Shell_NotifyIcon" habe ich schon verwendet, allerdings nur bei eigenen Icons.

Bin für jeden Tip/Link dankbar

Ad Astra, Fellmer

[Edit 1]:
Idee: Wenn ich die Eigenschaften des Tray Icons festhalten könnte, sollte es doch möglich sein das fremde Icon mittels "NIM_ADD"/"NIM_DESTROY" zu entfernen/anzuzeigen.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 26. Jan 2004, 13:31
NIM_DESTROY ist nicht so gut, versuche es doch mal mit
Delphi-Quellcode:
//Zum anzeigen:
ShowWindow(TNA_Handle, SW_SHOW);
//Zum hiden:
ShowWindow(TNA_Handle, SW_HIDE);
Oder SendMessage...
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#3

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 26. Jan 2004, 14:22
Hi

Mit "ShowWindow(Handle, SW_HIDE)" wird nur das Fenster der Anwendung verborgen, nicht das Tray Icon.
Besitzt ein Tray Icon ein eigenes Handle?

Gruss
  Mit Zitat antworten Zitat
chris

Registriert seit: 24. Mai 2003
Ort: Düsseldorf
196 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 26. Jan 2004, 14:28
hi,

ja, dax meint mit TNA_Handle das handle des icons/forms in der TNA
Chris
D2009.4 | Vista SP2 x32
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#5

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 27. Jan 2004, 09:04
Ok.

Kennt jemand eine möglichkeit an dieses Handle zu kommen?
Bzw. sich alle TNA_Handles "aufzulisten"?

Gruss
  Mit Zitat antworten Zitat
chris

Registriert seit: 24. Mai 2003
Ort: Düsseldorf
196 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 27. Jan 2004, 09:36
hi,

FindWindow() (s. W32 API)
Chris
D2009.4 | Vista SP2 x32
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#7

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 27. Jan 2004, 09:45
Moin

Die Funktion kenne ich, ich benutze sie um das Hauptfenster der Anwendung zu ermitteln.

Ich müsste eigentlich nur den Klassennamen eines TNAs kennen, dan könnte ich mir alle Tray Icons mit "EnumWindows()" auflisten, oder?
  Mit Zitat antworten Zitat
chris

Registriert seit: 24. Mai 2003
Ort: Düsseldorf
196 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 27. Jan 2004, 09:55
hi,

yo *g*

also so bekommst du schonmal die TNA

Delphi-Quellcode:
  trayhwnd := FindWindowEx(0, 0, 'Shell_TrayWnd', nil);
  if (trayhwnd = 0) then exit;
  trayhwnd := FindWindowEx(trayhwnd, 0, 'TrayNotifyWnd', nil);
  if (trayhwnd = 0) then exit;
Chris
D2009.4 | Vista SP2 x32
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#9

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 27. Jan 2004, 10:26
Das Programm "Inspect" aus dem PSDK (bin-Ordner) sagt mir, dass der Klassenname "TrayNotifyWnd" lautet. Der von der Uhr übrigens "TrayClockWClass". So einfach ist das Thema aber nicht. Ich meine mich an einen Beitrag zu erinnern (entweder hier oder im DF?), in dem die Icons u.a. (!) mit ReadProcessMemory usw. ermittelt wurden. Das klappt aber nur ansatzweise und IMHO auch nicht unter jedem Windows.

Die Frage ist jetzt: Wo war das? Dann kann man danach suchen.
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#10

Re: Tray Icon eines fremden Programms verbergen/anzeigen

  Alt 28. Jan 2004, 16:58
Hab mir einige Beispiele zu ReadProcessMemory bzw. WriteProcessMemory angeschaut.
Die sache ist mir jedoch zu heikel (Direkt in den Speicher zu schreiben), ausserdem wüsste ich nicht genau wie .

Naja, wird wohl nix draus werden, aber thx für die Tips
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:45 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