Hi,
ich suche eine Möglichkeit, wie ich auf
alle Icons im Systray (neben der Uhr) beliebig zugreifen kann.
Ich weiß, dass man dazu nur das Handle des Fensters und die Uid des icons benötigt.
Also wenn man das Handle der fremden Anwendung und die Uid des Icons hat, dann kann man das Icon dieser fremden Anwendung beliebig verändern:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function TaskBarRemoveIcon(hwHandle:Hwnd; iUid:Integer): Boolean; var tnid : TNOTIFYICONDATA ; begin tnid.cbSize := sizeof(TNOTIFYICONDATA); tnid.Wnd := hwHandle; tnid.uID := iUid; Result:=Shell_NotifyIcon(NIM_DELETE, @tnid); end; |
Das Handle eines Fensters zu finden ist einfach, wie bekommt man allerdings die Uid des Icons?
Die Shareware systrayx,
www.systrayx.com/, ist im Stande diese Id herauszufinden.
Weiß jemand wie das geht?
---
Eine Möglichkeit wäre es, einfach durchzuprobieren, von 0 bis 255 nehme ich an. Ich vermute nämlich das eine Uid eines Icons in diesem Bereich liegen darf. Weiß jemand was konkretes?
---
Eine weitere Frage wäre: wie kann ich die Anzahl und die Rheinfolge der im SysTray befindenden Icons herausfinden?
Mit Dank.
Alex.