C ++: Как правильно зарегистрировать и отменить регистрацию типов файлов для нашего приложения (программно) - PullRequest
3 голосов
/ 13 мая 2010

Время было, когда вы устанавливали ассоциации файлов в:

HEY_CLASSES_ROOT \ <. Ext>

Однако, это кажется возможным, но это уже не полное решение.В реестре есть дополнительные ассоциации.Например:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ KindMap HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Extensions

И все вышеперечисленное, но с помощью HKEY_USERS\

И Microsoft добавила апплет панели управления «Задать ассоциации по умолчанию», который контролирует ... что?

Я ищу официальный документ или обсуждения:

"Каким образом современное совместимое с Windows XP-Windows 7 приложение, написанное на C / C ++, должно регистрировать и манипулировать своими ассоциациями файлов, не вмешиваясь в проводник, пользовательские настройки или cpl ассоциаций по умолчанию"

РЕДАКТИРОВАТЬ: я пытаюсь продолжить это расследование с дополнительными вопросами здесь: Как удалить ProgID из других учетных записей пользователей при удалении из Windows?

Ответы [ 2 ]

2 голосов
/ 13 мая 2010

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

Редактировать: См. Этот предыдущий вопрос StackOverflow о том, как это возможно.

Как изменить сопоставление файлов без подтверждения UAC? ​​

2 голосов
/ 13 мая 2010

Увы, эта документация все еще актуальна, и все дело в реестре: MSDN

Может, кто-то создал для этого хорошую обертку? Время поразить Google ...

...