Я конвертировал свое приложение WPF с помощью Desktop App Converter в пакет appx. Мне нужно иметь пункт в контекстном меню проводника. То есть пользователь щелкает правой кнопкой мыши по файлу и видит мой пункт «Выполнить действия с приложением» в главном меню. При выборе элемента мое приложение начинается с аргументов командной строки выбранного файла. Мне не нужно "windows.fileTypeAssociation" и "открыть с помощью приложения" в подменю. Я хочу, чтобы мой пункт находился в меню верхнего уровня.
Итак, шаги, которые я сделал:
- С приложением Desktop App Converter у меня есть пакет appx и папка PackageFiles.
В папке Package я изменил файл AppxManifest.xml:
...
<Extensions>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type=".jpg">
<desktop4:Verb Id="Foo" Clsid="91dce9db-f066-366b-be01-abcdd41e5cf1"/>
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
...
- Установить приложение с помощью команд:
add-appxpackage -path \ AppxManifest.xml -Register
Примечание. Я не нашел, где я могу получить ClsId для своего приложения, и это GUID другого приложения.
Так что после всех этих действий я не увидел никаких новых пунктов в контекстном меню. Я пытался сделать "windows.fileTypeAssociation" раньше аналогичным образом. Это сработало для меня.
Исследуя subj, я обнаружил, что многие коллеги безуспешно пытались решить эту проблему, например:
https://github.com/MicrosoftDocs/winrt-related/issues/117
https://social.microsoft.com/Forums/azure/ru-RU/ef1af46e-a06d-4ba3-9ec8-48ce3ceb0abc/visual-studio-2017-windows-application-packaging-desktop4fileexplorercontextmenus-not-working?forum=wpdevelop&prof=required
https://social.msdn.microsoft.com/Forums/expression/en-US/d81ed0c7-a96a-4b47-a685-3f927fef9438/uwphow-to-add-an-item-into-windows-explorer-context-menu?forum=wpdevelop
Сводка. Возможно ли реализовать пункт контекстного меню проводника для UWP? Если возможно, что я делаю не так? Кто-то сделал это с успехом? Есть рабочие решения, примеры? Толковые мануалы? А где взять "Clsid"?