C++ 确定C++;应用程序在桌面桥(Project Centennial)中作为UWP应用程序运行
我已经将一个C++/Win32应用程序打包为appx,它运行正常。但是,由于某些路径不可用,我必须以某种方式确定应用程序是否作为打包的UWP应用程序运行并进行调整 是否有一个简单的运行时检查可以用来确定您是否作为打包的UWP应用程序运行 是否有一个简单的运行时检查可以用来确定您是否作为打包的UWP应用程序运行 是的,您可以通过C++ 确定C++;应用程序在桌面桥(Project Centennial)中作为UWP应用程序运行,c++,winapi,uwp,desktop-bridge,C++,Winapi,Uwp,Desktop Bridge,我已经将一个C++/Win32应用程序打包为appx,它运行正常。但是,由于某些路径不可用,我必须以某种方式确定应用程序是否作为打包的UWP应用程序运行并进行调整 是否有一个简单的运行时检查可以用来确定您是否作为打包的UWP应用程序运行 是否有一个简单的运行时检查可以用来确定您是否作为打包的UWP应用程序运行 是的,您可以通过 如果未打包,则返回值APPMODEL\u ERROR\u NO\u PACKAGE。GetTokenInformation(,TokenIsAppContainer,)?
如果未打包,则返回值
APPMODEL\u ERROR\u NO\u PACKAGE
。GetTokenInformation(,TokenIsAppContainer,)
?另请参见。AppContainer和PACKAGE'd vs not是独立的问题。并非所有包的进程都在AppContainer中运行,并且没有包标识的进程可以在AppContainer中运行这是正确的答案。在UWPGetPackageFamilyName
下运行时,将返回ERROR\u SUCCESS
,而在Win32下,它将返回APPMODEL\u ERROR\u NO\u PACKAGE
,如果您使用的是较旧的SDK,顺便说一句,它是15700
(十进制)。@c0000fd Thx供您确认:)如何进行检查,但对于C#?GetPackageFullName比GetPackageFamilyName效率稍高,但GetCurrentPackageFullName是当前进程的最佳答案-在功能上相当于当前进程的GetPackageAnything,但比当前进程的GetPackageAnything效率更高