在我的软件中,我使用ShellExecuteEx
打开一个以本地.htm
文件形式显示的报告。有时在某些最终用户系统上,.htm
文件没有默认的文件关联。
要在Windows 10之前的系统上设置此类文件关联,我将安装以下注册表项以使用IE:
Key: HKEY_CURRENT_USER\Software\Classes\htm.file\Shell\open\Command
REG_SZ name: ""
REG_SZ value: "C:\Program Files (x86)\Internet Explorer\iexplore.exe" "%1"
Key: HKEY_CURRENT_USER\Software\Classes\.htm
REG_SZ name: ""
REG_SZ value: htm.file
Key: HKEY_CURRENT_USER\Software\Classes\.htm
REG_SZ name: PerceivedType
REG_SZ value: Document
然后我将更改通知Windows资源管理器:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
它运作良好,但是您如何在Windows 10上对Microsoft Edge进行相同操作?
PS .:
我不想在那里使用IE,因为它总是显示带有nag的额外选项卡以切换到Edge,这对我的最终用户非常困惑。
答案 0 :(得分:0)
在Windows 10上,它是通过 IApplicationAssociationRegistrationInternal (“ 2a848e25-d688-4aa3-8e55-0c16cb3a2dfb ”)完成的
由SHCreateAssociationRegistration创建
为Microsoft Edge ProgId设置“ AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9 ”
(在 Windows 10-1803,17134.820 上进行了测试)