Solved

How can I list all icons in systray?

Posted on 2004-04-25
9
388 Views
Last Modified: 2010-04-05
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
Comment
Question by:The_SnifF
  • 5
  • 3
9 Comments
 
LVL 3

Expert Comment

by:smot
Comment Utility
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
 

Author Comment

by:The_SnifF
Comment Utility
thanks you so so soooooo much! :))
0
 

Author Comment

by:The_SnifF
Comment Utility
Damn, ItemCount returns 0, and there are icons there... :S

BTW, can I get this collections source?
0
 
LVL 20

Expert Comment

by:Madshi
Comment Utility
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
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 

Author Comment

by:The_SnifF
Comment Utility
If anyone could help me find links, i'd be grateful.
I searched google for days!
0
 
LVL 20

Accepted Solution

by:
Madshi earned 250 total points
Comment Utility
0
 

Author Comment

by:The_SnifF
Comment Utility
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
 

Author Comment

by:The_SnifF
Comment Utility
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
 
LVL 20

Expert Comment

by:Madshi
Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now