• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 429
  • Last Modified:

How can I list all icons in systray?

I'm trying to make myself a "slimer" shell...
My only problem is applications disappearing in what should be the systray.
They minimize to nowhere...
How can i list all apps using Tray Icons ?
0
The_SnifF
Asked:
The_SnifF
  • 5
  • 3
1 Solution
 
smotCommented:
Hi,

With madKernel you can manage tray icons (see API "Shell_NotifyIcon") of any application.
This kind of functionality is totally undocumented, but works well from win95 to winXP

http://help.madshi.net/TrayIcons.htm 

Download:
http://madshi.bei.t-online.de/madCollection.exe


Example:

uses
  MadKernel;

      for i := 0 to TrayIcons.ItemCount -1 do
      begin
        ShowMessgage(TrayIcons[i].Window.OwnerProcess.ExeFile);
      end;
0
 
The_SnifFAuthor Commented:
thanks you so so soooooo much! :))
0
 
The_SnifFAuthor Commented:
Damn, ItemCount returns 0, and there are icons there... :S

BTW, can I get this collections source?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
MadshiCommented:
It works only if the tray window is visible, which is probably not the case if you're trying to write your own shell, right? There are some projects out there with full sources for replacing the Windows shell - including the tray icon stuff. I don't have any links (sorry), but a search in google might help.
0
 
The_SnifFAuthor Commented:
If anyone could help me find links, i'd be grateful.
I searched google for days!
0
 
The_SnifFAuthor Commented:
Thanks, though I found that page, the one with Delphi source isn't available.
And one VB source I couldn't get...
I'll try the others :)
0
 
The_SnifFAuthor Commented:
ok, i got it, my apps "says" it is the systray
that way:
  WM_TASKBARCREATED := RegisterWindowMessage('TaskbarCreated');
  PostMessage(HWND_BROADCAST, WM_TASKBARCREATED, 0, 0);
0
 
MadshiCommented:
Yes, and I guess you have to create your own window with the correct class name which claims to be the systray.
0

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now