gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:44 28 4
gpt4 key购买 nike

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

Almost the same question ,但我需要它用于 C#,而不是 C++。

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

An unhandled exception of type 'System.InvalidOperationException' occurred in applcation.exe Additional information: The process has no package identity. (Exception from HRESULT: 0x80073D54) occurred

如何无一异常(exception)地检查申请类型?

最佳答案

您可以使用 P/Invoke 在 C# 中调用 GetCurrentPackageFullName 方法。有一个 DesktopBridge.Helpers您可以用来为您执行此操作的软件包。它也适用于 Windows 7。

DesktopBridge.Helpers helpers = new DesktopBridge.Helpers(); 
bool isUwp = helpers.IsRunningAsUwp();

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

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

关于c# - 确定 C# 应用程序是否作为 UWP 应用程序在 Desktop Bridge (Project Centennial) 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47877354/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com