Я пытаюсь открыть файл изображения с помощью приложения Windows 10 Photos (которое является «современным» приложением) с настольного компьютера C ++, используя следующий код (для простоты проверки ошибок не включены):
DWORD pid;
CComPtr<IApplicationActivationManager> paam;
CoCreateInstance(CLSID_ApplicationActivationManager, NULL, CLSCTX_LOCAL_SERVER, IID_PPV_ARGS(&paam));
CoAllowSetForegroundWindow(paam, NULL);
paam->ActivateForFile(pwszAppUserModelId, psia, L"open", &pid);
pwszAppUserModelId
идентификатор модели приложения для приложения «Фото». psia
это указатель на IShellItemArray
который содержит один IShellItem
для файла изображения (PNG).
ActivateForFile
возвращает ошибку 0x80270255:
«Это приложение имеет несколько расширений, зарегистрированных для поддержки указанного контракта. Активация AppUserModelId неоднозначна. ‘
Любые советы о том, как это исправить? ТИА.
Задача ещё не решена.
Других решений пока нет …