如何设置Microsoft Edge文件关联以打开.htm文件?

时间:2018-10-17 19:55:25

标签: winapi windows-10 microsoft-edge windows-shell

在我的软件中,我使用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,这对我的最终用户非常困惑。

1 个答案:

答案 0 :(得分:0)

在Windows 10上,它是通过 IApplicationAssociationRegistrationInternal (“ 2a848e25-d688-4aa3-8e55-0c16cb3a2dfb ”)完成的

SHCreateAssociationRegistration创建

为Microsoft Edge ProgId设置“ AppX4hxtad77fbk3jkkeerkrm0ze94wjf3s9

(在 Windows 10-1803,17134.820 上进行了测试)