2

I am trying to load name and icon for the application, that handles HTTP protocol (Microsoft Edge).

Both appear under HKEY_CURRENT_USER\SOFTWARE\Classes\AppXq0fevzme2pys62n3e0fbqa7peapykr8v

Icon: @{Microsoft.MicrosoftEdge_38.14393.0.0_neutral__8wekyb3d8bbwe?ms-resource://Microsoft.MicrosoftEdge/Files/Assets/MicrosoftEdgeSquare44x44.png}

App Name for Edge looks similar.

For the name, I am using RegLoadMUIStringW, which loads string from the resource, and it works for both IE (string of format @C:\Windows\System32\ieframe.dll,-55175), and Edge (similar to the Icon string above, e.g @{...?ms-resource://...}).

However, I cannot find a function, that would uniformly load an icon (ApplicationIcon) for both IE ("C:\Program Files\Internet Explorer\iexplore.exe",0) and Edge (see above). Moreover, I cannot find the way to load Edge icon at all (for IE I parse the string and use SHDefExtractIconW).

Is there a universal function, that would load icon with the old resource name (e.g. C:\file,1ndex), and a new one (ms-resource)?

If not, is there a documented way to load the ms-resource icon of another app, by the above-provided string?

LOST
  • 2,956
  • 3
  • 25
  • 40

0 Answers0