Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • December 03, 2016, 09:57:46 PM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: How to detect parent .EXE from tray icon?  (Read 2930 times)

rjbull

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 2,925
    • View Profile
    • Donate to Member
How to detect parent .EXE from tray icon?
« on: March 16, 2013, 04:43:43 PM »
I use Vista Home Premium, UAC On, user account.  Quite a lot of things are loaded into the tray at system startup.  However, Vista has a habit of missing some of them out every now and then, with occasional oddities like loading a service, but not the GUI that controls it, or loading an app correctly, but with a blanked-out icon.

This problem is known.  Various sites on the Internet suggest fixes that involve either re-starting Windows Explorer, which I don't think is a permanent fix, or, making a Registry hack, which I'd rather avoid.  So I decided I'd use one or other menuing program to mimic the Taskbar, but complete with everything the Taskbar should have.

I know where the .EXEs are for programs I installed myself, and where I had to go look, usually Chameleon Task Manager was a good helper.  But, some tray programs were pre-installed, like Volume, connection status, Bluetooth, etc.  Given that .EXE names can be enigmatic, how can I easily match a tray icon to its .EXE?  I'm envisaging hovering the mouse over an icon and having something pop up to tell me what I'm looking for.  That looks problematic as most icons offer tooltips when you hover over them.

Please, does anyone know an easy way to solve this?  Or have I overlooked something obvious?


Ath

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 2,778
    • View Profile
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #1 on: March 17, 2013, 03:26:13 AM »
I'd try and find the cause of the apps/services not loading, before I'd find an alternative to the systemtray. Could my NANY2013 entry KeepUpApp be of help? It check to see if an app or service isn't running, and (re)starts it when needed.

app103

  • That scary taskbar girl
  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 5,666
    • View Profile
    • App's Apps
    • Read more about this member.
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #2 on: March 17, 2013, 07:24:47 AM »
Yes, the problem is well known and not just limited to Vista. It happens mostly with users that have a lot of stuff that loads at startup, with a lot of those apps having tray icons.

I used to keep a checklist with every app that stuck an icon in the tray and would go through the list, one by one, checking if the icon made it into the tray, killing and restarting apps that didn't ...after every reboot. It was ridiculous!

It was when I realized why this was happening that I could begin to solve the problem and not just deal with it after the fact.

At startup, everything is competing for system resources and trying to load itself, all at the same time. If the number of apps trying to load is high, there will be losers. All of them trying to get their icon in the tray means that some of them won't make it. The app will still be running in the background (which is why Ath's KeepUpApp probably won't help) but there just won't be a tray icon for you to be able to access the app from.

The simple solution is to not have all the apps trying to load at the same time. But manually clicking a bunch of shortcuts after Windows is done loading, is an inconvenient pain in the butt, which is why we have all this stuff loading at startup, in the first place.

So, I wrote an app to try to simulate the process of waiting, clicking shortcuts, and waiting some more.

Lacuna Launcher allows you to set up a list of paths to apps you want to run. If you configure a shortcut to Lacuna launcher with command line parameters, you can specify the length of time it should wait before it starts launching the stuff on the list. You can also specify the length of time it should wait between items. Use a stopwatch to time Windows startup (without the apps on the list) or play with those numbers till you find the right amount. Then if you clean out your startup folder and put that shortcut to Lacuna Launcher in there, it should solve your messed up/missing icons problem by staggering out the starting of those apps, so they are not all competing to get their icons into the tray at the same time.

You probably won't be able to put everything in the list, but the things you can put in there will reduce the load on Windows when it first starts up, enough to relieve the problem.

DerekHal

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 34
    • View Profile
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #3 on: March 17, 2013, 08:37:23 AM »
Another startup manager is Startup Delayer:
http://www.r2.com.au/page/products/show/startdelay

More alternatives on this page:
http://alternativeto.net/software/startup-delayer/


anandcoral

  • Honorary Member
  • Joined in 2009
  • **
  • Posts: 408
    • View Profile
    • App, to help you : Overlap Wallpaper, Park Cursor Aside, Stick A Note, Merge CSV and Text and many more.
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #4 on: March 17, 2013, 12:10:12 PM »
Hi rjbull,

I use Pitaschio http://pitaschio.ara3.net/

It has many options and and I use most of them. One of the option is to show a running program path etc. even if it is hidden i.e. in tray or not.

This you can use to see the corresponding exe name with full path.

Regards,

Anand

rjbull

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 2,925
    • View Profile
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #5 on: March 17, 2013, 03:57:23 PM »
The app will still be running in the background (which is why Ath's KeepUpApp probably won't help) but there just won't be a tray icon for you to be able to access the app from.
Yes, that sounds about right; I haven't investigated fully, but suspect the apps are all there, I just can't see them.  Many thanks!

I wrote an app to try to simulate the process of waiting, clicking shortcuts, and waiting some more.
I already run WinPatrol Plus with some programs run Delayed, and should have thought of that  :-[  It's nice to see your free delayed-startup program; who better than that scary taskbar girl  :)  As you point out, it may be tedious to figure out and organise the correct amount of delays.

@anandcoral:
I don't see that particular feature in Pitaschio's Features list, but I'll take a look.  Thanks for the pointer!

anandcoral

  • Honorary Member
  • Joined in 2009
  • **
  • Posts: 408
    • View Profile
    • App, to help you : Overlap Wallpaper, Park Cursor Aside, Stick A Note, Merge CSV and Text and many more.
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #6 on: March 18, 2013, 03:23:23 AM »
Hi rjbull,

In case you have problem in finding the required feature, I am giving below the screen shots from my machine.

The below window comes after you right click on the tray icon and select 'Settings'.

2013-03-18_134723.png

2013-03-18_134849.png


Hope it helps you.

Regards,

Anand

Tinman57

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,702
    • View Profile
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #7 on: March 18, 2013, 08:28:41 PM »
  This has been a problem that MS has refused to fix since XP.  I found a hack that reverses this problem, though I'm not sure if there's a Vista version or not.  Here's a snippet that I copied for future reference:

Spoiler
Systray icons missing problem
-----------------------------

Some Windows XP installations show a peculiar defect in that some systray icons do not appear when the system is booted and the user logs on. The problem seems even more noticeable on systems with autologon and/or with many applications (with systray icons) running at startup.

According to the excellent analysis in the "Problem analysis and proposed solution" comment by "tasmanian" user at http://winhlp.com/no...;cs=2231#comment-406 this is caused by a timing defect in the Windows function Shell_NotifyIcon in shell32.dll, which has a timeout fixed at 4 seconds. Combined with an unfavorable Windows API message this causes the problem, which befalls many heavily loaded computers that don't have ultra-fast hard disks. Changing the timeout to one minute and removing the unwanted message solves the problem.

This Patch Tool
---------------
Tired of manually applying the patch each time MS updates shell32.dll or on new Windows installs I decided to create this patch tool, it will easily patch shell32.dll file according "tasmanian" purposed solution, it should work with any version of shell32.dll as it will automatically find the correct offset for the bytes to patch.

Thanks
------
tasmanian - for the excellent analysis and proposed solution
WinHlp.com - for supporting all the discussion about this problem


rjbull

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 2,925
    • View Profile
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #8 on: March 19, 2013, 04:03:37 PM »
In case you have problem in finding the required feature, I am giving below the screen shots from my machine.
Many thanks!  :)  I wouldn't have found that, even though I know perfectly well that my sticky notes program makes all its notes hidden windows.  Pistachio is an interesting utility; pity it doesn't show icons as well in that list.

@Tinman57: thanks - did a quick check on the original pages, but they don't seem to have a known solution for Vista.

Tinman57

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,702
    • View Profile
    • Donate to Member
Re: How to detect parent .EXE from tray icon?
« Reply #9 on: March 20, 2013, 05:45:45 PM »
In case you have problem in finding the required feature, I am giving below the screen shots from my machine.
Many thanks!  :)  I wouldn't have found that, even though I know perfectly well that my sticky notes program makes all its notes hidden windows.  Pistachio is an interesting utility; pity it doesn't show icons as well in that list.

@Tinman57: thanks - did a quick check on the original pages, but they don't seem to have a known solution for Vista.

  Darn rjbull, sorry to hear that.  You would think that someone would have done the same for Vista.  I haven't had this problem since I did this hack until MS released a new version of shell32.dll last year.  I just re-ran the patch and back to happiness again....

EDIT: I got to reading some more on this problem and the patch.  From what I can see, the patch works for any version of the shell32.  Give it a try and see.
  NOTE:  Backup your original shell32.dll just in case.  I'm not familiar with Vista and how it may (or may not) automatically restore the original .dll.  You may have to copy the patched .dll to your cache, and possibly to other "Backup" locations in the OS.

  If you don't feel comfortable running this patch, you can get the offset information from the website, and using a hex editor make the changes manually.  Good luck....

« Last Edit: March 20, 2013, 06:29:13 PM by Tinman57 »