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