Редактирование реестра Windows не влияет на действие «открыть» по умолчанию при двойном щелчке файлов. - PullRequest
0 голосов
/ 11 июля 2019

Я написал простое приложение для обработки запуска для Windows 10, которое я хочу установить в качестве приложения по умолчанию для нескольких типов файлов.

Прочитав этот вопрос: ( Как изменить сопоставление типов файлов в реестре? ), я обнаружил, что вы можете очень просто записать новое приложение в реестр Windows, а затем зарегистрировать новый тип файла, в котором перечислены новое приложение в качестве приложения по умолчанию. Я использовал тип файла ".rains" и имя приложения "Clouds", чтобы проверить это следующим образом:

FTYPE Clouds="C:\Users\bob\source\repos\TL\TL\bin\Release\TL.exe" "%1"
ASSOC .rains=Clouds

Двойной щелчок по файлу типа .rains отлично запустил мое приложение.

Я надеялся, что общая логика может быть такой же для перезаписи существующих сопоставлений файлов, то есть я смогу заменить запись "(по умолчанию)" для любого данного типа файла в реестре на "Облака". Однако при редактировании существующих записей типов файлов в реестре Windows мне не удалось получить тот же результат, который был достигнут с типом файлов ".rains".

Я также заметил, что при изменении приложения по умолчанию для типа файла, щелкнув правой кнопкой мыши файл, откройте С-> Выбрать другое приложение и отметив «Всегда использовать это приложение для открытия *** файлов», поведение для открытия файла изменяется (как и ожидалось), но запись в реестре для типа файла не меняется. Я проверил HKLM, HKCU и HKCR, но изменения, похоже, не отражаются ни в одном из них. Запись типа файла указывает на то же имя приложения, и путь к исполняемому файлу под именем приложения также остается прежним.

Это приводит меня к выводу, что реестр (или, по крайней мере, часть реестра, на которую я смотрю) - не единственное место, в котором Windows хранит настройки по умолчанию, которые я хочу редактировать.

Для чего бы то ни было, я также попытался настроить ассоциации файлов, используя DISM и лист XML приложения OEM по умолчанию (согласно https://blogs.technet.microsoft.com/windowsinternals/2017/10/25/windows-10-how-to-configure-file-associations-for-it-pros/), но безуспешно.

Может кто-нибудь объяснить мне это поведение? Есть ли еще какой-то реестр, который я собираюсь редактировать? Или это может быть влияние какой-то ИТ-политики, реализованной на моем рабочем месте?

Примечание. Я хочу добавить в свое приложение сегмент, который позволяет программно настраивать эти значения по умолчанию. В противном случае маршрут с графическим интерфейсом будет работать нормально.

Большое спасибо.

...