Jump to content

How to move systray icon around


sjx
 Share

Recommended Posts

Hi,

Welcome to the autoit forum :)

I made some searches on internet and found :


There is no way for applications to programmatically always show themselves top level on the system tray either on first install or at any time during runtime. This is one of several changes we’ve made in Windows 7 in an effort to produce a cleaner, quieter desktop that is in the user’s control to customize the top level with their favorite applications and icons.

We keep the user in control of the notification area by not allowing programmatic promotion (other than temporarily or to show a notification). Assuming the machine is sufficiently quiet, when you first add your icon with Shell_NotifyIcon(NIM_ADD, ...) it will be shown on the taskbar for 45 seconds, then move into the overflow

thereafter. If the user promotes an icon, it will always live on the taskbar. If the user demotes it, the icon will never be seen on the taskbar. Any promotion needs to be user initiated. We’ve made this much easier in Windows 7 via drag/drop & through the Notification Area Icons control panel, and what we’ve seen in usability studies and based on beta feedback, is that users have no difficulties discovering how to customize notification behavior and will promote the icons they want quick access to.

But you may be able to do it by the registry with the IconsStream value located at "HKEY_CURRENT_USERSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionTrayNotify"

The data is obfuscated using the rot13 algorithm.

I will take a look if I can make a script to automate the process.

Br, FireFox.

Edited by FireFox
Link to comment
Share on other sites

I found a way to hide the icon, but after this if you move it back to the taskbar icons, the explorer won't be able to retain this settings.

I tried to make a script but it does not work with another application so my offset may be wrong.

Link to comment
Share on other sites

I also figured out how to show/hide icon by modify the IconStreams reg value but after each change I need to restart explorer.exe to make it effective. Do you know if there is a dll we can call to avoid restarting explorer just like what we did in changing IE proxy by DllCall('WININET.DLL' .... ?

Link to comment
Share on other sites

There must be a way to make the change effective without restarting windows or explorer since if you manually change the behavior of notification icon via GUI, it takes effect once you close the GUI.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...