sjx Posted August 15, 2013 Posted August 15, 2013 How do I move sys tray icon between visible tray area (ToolbarWindow32) and overflow area (NotifyIconOverflowWindow) which are defined here: '?do=embed' frameborder='0' data-embedContent>>
FireFox Posted August 15, 2013 Posted August 15, 2013 (edited) 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 August 15, 2013 by FireFox
FireFox Posted August 15, 2013 Posted August 15, 2013 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.
sjx Posted August 16, 2013 Author Posted August 16, 2013 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' .... ?
sjx Posted August 17, 2013 Author Posted August 17, 2013 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now