我正在尝试为处理 HTTP 协议(Microsoft Edge)的应用程序加载名称和图标。
两者都出现在 HKEY_CURRENT_USER\SOFTWARE\Classes\AppXq0fevzme2pys62n3e0fbqa7peapykr8v 下
图标:@{Microsoft.MicrosoftEdge_38.14393.0.0_neutral__8wekyb3d8bbwe?ms-resource://Microsoft.MicrosoftEdge/Files/Assets/MicrosoftEdgeSquare44x44.png}
Edge 的应用名称看起来很相似。
对于名称,我使用 RegLoadMUIStringW,它从资源中加载字符串,它适用于 IE(格式为 @C:\Windows\System32\ieframe.dll,-55175 的字符串)和 Edge(类似于 Icon 字符串上面,例如@{...?ms-resource://...})。
但是,我找不到可以为 IE(“C:\Program Files\Internet Explorer\iexplore.exe”,0)和 Edge(见上文)统一加载图标 (ApplicationIcon) 的函数。此外,我根本找不到加载 Edge 图标的方法(对于 IE,我解析字符串并使用 SHDefExtractIconW)。
是否有一个通用函数可以加载带有旧资源名称(例如 C:\file,1ndex)和新资源名称(ms-resource)的图标?
如果没有,是否有记录的方法可以通过上面提供的字符串加载另一个应用程序的 ms-resource 图标?