altf4
Aug 26th, 2007, 10:23 AM
Ok, I am sure everyone has seen how when new applications are installed, at the end, your desktop usually "blinks" as windows explorer (explorer.exe) updates its new icons for file types.
Well I am wonder how these installer apps are able to do this. Like is there some kind of API function to perform this?
I have tried this shortcut code I found while doing google research:
%windir%\system32\rundll32.exe user32, UpdatePerUserSystemParameters ,1 ,True
Although this only seems to work for keys changed in HKCU (HKUS\[SID])
Here is an example that it does work with: HKEY_CURRENT_USER\Control Panel\Desktop Wallpaper
This does make sence because of "UpdatePerUserSystemParameters"
Now what I am looking for is something used to update SYSTEM Paramaters.
User = HKUS\[SID]
System = HKLM
I have many reasons for why I would want this to happen which include various registry tweaks made to HKLM and not have them update until the user LOGs OFF
(I've never encountered a situation where a Restart was needed. Logging off seems to work fine in all experience of registry tweaking. Just making this clear b/c I know some sites are always saying "after changing this restart to take effect")
Ok so..... wana see it in action? Try this
* Go to HKCR\.zip and copy the value in (Default) ("@"), in my case this is "WinRAR.ZIP"
* Now go to HKCR\[value]\DefaultIcon, in my case this is HKCR\WinRAR.ZIP\DefaultIcon
* Now change this value in (Default) ("@") to a different (and valid) icon path.
* Now try to refresh windows explorer by pressing F5 (or Right Click>Refrsh). Hmmm didn't work.
* Now Try to use this shortcut code i showed u earlier (.lnk). Click it a few times. Hey! the desktop blinks, but still no update.
Why is this??? Well I am pretty sure it is because most of HKCR is just a shortcut to HKEY_LOCAL_MACHINE\SOFTWARE\Classes and in this case HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.zip is in the HKLM key.
So in conclusion, this is very frustrating since I know its possible to "Update" explorer and "tell" it to reread the HKLM Registry and properly make changes accordingly.
I would like to know if any of you have a solution to this. Is there maybe another value similar to "UpdatePerUserSystemParameters" but for HKLM key and not HKCU.
If you know of a solution to this, (without killing explorer.exe, that is) you are going to help me out A LOT.
One thing I have found is "gpupdate.exe /force" This reapplys all group policy changes and works for a lot of things, but doesn't work for the example above and many other settings. So I cant seem to find anything else.
Final Notes:
I know it is possible b/c I see it all the time when installing and uninstalling software application. I just need help in looking around for it.
Thanks for any help/suggestions that you can provide =]
Edit:
Here are some other topis I found relating to this issue:
http://forums.techarena.in/showthread.php?t=582218
Well I am wonder how these installer apps are able to do this. Like is there some kind of API function to perform this?
I have tried this shortcut code I found while doing google research:
%windir%\system32\rundll32.exe user32, UpdatePerUserSystemParameters ,1 ,True
Although this only seems to work for keys changed in HKCU (HKUS\[SID])
Here is an example that it does work with: HKEY_CURRENT_USER\Control Panel\Desktop Wallpaper
This does make sence because of "UpdatePerUserSystemParameters"
Now what I am looking for is something used to update SYSTEM Paramaters.
User = HKUS\[SID]
System = HKLM
I have many reasons for why I would want this to happen which include various registry tweaks made to HKLM and not have them update until the user LOGs OFF
(I've never encountered a situation where a Restart was needed. Logging off seems to work fine in all experience of registry tweaking. Just making this clear b/c I know some sites are always saying "after changing this restart to take effect")
Ok so..... wana see it in action? Try this
* Go to HKCR\.zip and copy the value in (Default) ("@"), in my case this is "WinRAR.ZIP"
* Now go to HKCR\[value]\DefaultIcon, in my case this is HKCR\WinRAR.ZIP\DefaultIcon
* Now change this value in (Default) ("@") to a different (and valid) icon path.
* Now try to refresh windows explorer by pressing F5 (or Right Click>Refrsh). Hmmm didn't work.
* Now Try to use this shortcut code i showed u earlier (.lnk). Click it a few times. Hey! the desktop blinks, but still no update.
Why is this??? Well I am pretty sure it is because most of HKCR is just a shortcut to HKEY_LOCAL_MACHINE\SOFTWARE\Classes and in this case HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.zip is in the HKLM key.
So in conclusion, this is very frustrating since I know its possible to "Update" explorer and "tell" it to reread the HKLM Registry and properly make changes accordingly.
I would like to know if any of you have a solution to this. Is there maybe another value similar to "UpdatePerUserSystemParameters" but for HKLM key and not HKCU.
If you know of a solution to this, (without killing explorer.exe, that is) you are going to help me out A LOT.
One thing I have found is "gpupdate.exe /force" This reapplys all group policy changes and works for a lot of things, but doesn't work for the example above and many other settings. So I cant seem to find anything else.
Final Notes:
I know it is possible b/c I see it all the time when installing and uninstalling software application. I just need help in looking around for it.
Thanks for any help/suggestions that you can provide =]
Edit:
Here are some other topis I found relating to this issue:
http://forums.techarena.in/showthread.php?t=582218