我尝试使用以下代码从桌面C ++使用Windows 10 Photos应用程序(这是一个现代应用程序)打开图像文件(为简单起见,省略了错误检查):< / p>
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
是“照片”应用的应用用户型号ID。 psia
是指向IShellItemArray
的指针,其中包含图像文件(PNG)的单个IShellItem
。
ActivateForFile
返回错误0x80270255:
&#39;此应用已注册多个扩展程序以支持指定的合同。 AppUserModelId的激活是不明确的。&#39;
有关如何解决此问题的任何提示? TIA。