В своем программном обеспечении я использую ShellExecuteEx a>, чтобы открыть отчет, представленный в виде локального .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 Explorer об изменении:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
Это работает хорошо, но как сделать то же самое для Microsoft Edge в Windows 10?
PS.:
Я не хочу использовать IE там, потому что он всегда показывает дополнительную вкладку с клячкой для переключения на Edge, что очень сбивает с толку моих конечных пользователей.