Расширение оболочки не работает для связанных типов файлов

Я пытаюсь написать свое собственное расширение оболочки, используя этот проект C ++ в качестве шаблона: https://code.msdn.microsoft.com/windowsapps/CppShellExtContextMenuHandl-410a709a

Чтобы этот проект компилировался и работал в Windows 10, мне пришлось внести несколько небольших изменений, но, как правило, он работает с одним небольшим исключением: расширение оболочки не отображается при настройке для предварительно связанных типов файлов. , В приведенном примере проекта предполагается создать новый пункт меню оболочки для .cpp файлы, но это, кажется, не работает правильно. Проблема, с обходным путем, хорошо описана в Q&Секция Вот:

Вопрос от Рой Гринхилт:

Я скачал код и сейчас могу его собрать
в 64 бит (я использую Windows 7 64 бит).

Регистрация Dll прошла успешно, однако, когда я щелкаю правой кнопкой мыши на одном
Файл .cpp элемента контекста отсутствует в меню.

Если я попытаюсь отменить регистрацию DLL, операция пройдет успешно (и если я
попробуйте второй раз, не получится) значит что регистрация
процесс работает.

Есть ли что-нибудь, что я могу сделать, чтобы отладить это?

отклик от nonagonagon:

У меня была точно такая же проблема
(успешно зарегистрироваться, но контекстное меню не отображается). Я заметил
что он работал на другом компьютере без установленной Visual Studio. Так
Я изменил расширение, с которым работает этот пример, с .cpp на
неиспользуемое расширение. Тогда это начало работать. У меня нет полного
объяснение, но это может привести вас на правильный путь.

Действительно, когда я изменяю расширение типа файла на то, что не используется, например, .testextрасширение оболочки работает как положено. К сожалению, этот «обходной путь» на самом деле не решает проблему для меня, потому что это означает, что я не могу создавать расширения оболочки для конкретных типов файлов для существующих типов файлов, таких как .cpp,

Каково реальное объяснение этого поведения? И как я могу изменить свое решение, чтобы я мог добавить пользовательские меню расширения оболочки для .cpp файлы?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]