Jump to content

ImgBurn semi-related software development question


Joshua Stewart
 Share

Recommended Posts

This question is for the ImgBurn developers.

 

I notice in the changelog for 1.3.0.0 Thursday 13th April 2006

that you added support to update the Shell Icon Cache.

 

How can this be done in my own app using C++ Win32 so that it does not reset the icon positions on the desktop in Windows XP.

I find that my method of forcing the icon cache to update (so that users can see my new icons), causes the users desktop icon positions to be annoyingly reset.

 

I have search around quite a bit but have not found a solution to this, and this is a bit of a long shot. :innocent:

 

Any suggestions are appreciated. :thumbup:

 

Cheers,

Josh

Link to comment
Share on other sites

I am not a developer for Imgburn (LUK! is the only one who sees and changes the source code), but search around for something like: SHChangeNotify. If you use nsis, then its: System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'.

Link to comment
Share on other sites

I am not a developer for Imgburn (LUK! is the only one who sees and changes the source code), but search around for something like: SHChangeNotify. If you use nsis, then its: System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'.

 

Thanks for your quick reply :)

I will give this ago today.

 

We arent using NSIS but instead using Wix to compile and link our own MSI installer with a .cpp bootstrap exe to kick things off and .cpp customised tasks.

Link to comment
Share on other sites

  • 2 weeks later...

Yeah no joy. <_<

The desktop icons seem to refresh, but it doesnt actually update the icon that is used in the shortcut on the desktop to match the new icon on the executable (after the shortcut is deleted and recreated with the installer).

The newly created shortcut on the desktop still has the old icon.

 

It didn't rearrange my desktop icons though, which is good, but it didnt solve the issue of the outdated icon cache.

I don't understand why there is an icon cache that doesnt recognise that icons have changed. >_<

 

Our current method of forcing the icon cache to be rebuilt every install, is a bit dodgy, and still rearranges the icons on the desktop.

 

Any further suggestions are appreciated.

One idea is to perhaps rename the executable that the desktop shortcut is being created from each install, so that the icon cache treats it as a new executable and new icon in the cache.

 

cheers,

Josh

Link to comment
Share on other sites

Are you setting you application as the default one for the given file extension?

 

i.e. for the '.iso' extension I add 'ImgBurn.Write.1' as the value of the '(default)' entry - as it's seen in regedit.

 

Then, also under HKCR, I make a 'ImgBurn.Write.1' key and populate it with the same Shell/Command type stuff and provide a 'DefaultIcon' entry.

 

This is what the 'Set ImgBurn As Default Application' option in the settings does, otherwise ImgBurn is just added to the context menu and nothing else is changed.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.