确定 C# 应用程序是否在 Desktop Bridge 中作为 UWP 应用程序运行(Project Centennial)

Ale*_*xan 3 c# runtime uwp desktop-bridge

如何检查应用程序是否作为 UWP 运行?

几乎同样的问题,但我需要它用于 C#,而不是 C++。

如果我尝试获取ApplicationData.Current.LocalFolder应用程序作为 Win32 应用程序运行,则会抛出异常:

applcation.exe 中发生类型为“System.InvalidOperationException”的未处理异常附加信息:该进程没有包标识。(HRESULT 异常:0x80073D54)发生

如何检查申请类型无异常?

mm8*_*mm8 5

您可以GetCurrentPackageFullName使用 P/Invoke 在 C# 中调用该方法。您可以使用 DesktopBridge.Helpers 包来完成此操作它也适用于 Windows 7。

DesktopBridge.Helpers helpers = new DesktopBridge.Helpers(); 
bool isUwp = helpers.IsRunningAsUwp(); 
Run Code Online (Sandbox Code Playgroud)

如果您感兴趣,可以在这里查看它是如何实现的: https: //github.com/qmatteoq/DesktopBridgeHelpers/blob/master/DesktopBridge.Helpers/Helpers.cs

这是 Nuget 包: https://www.nuget.org/packages/DesktopBridge.Helpers/