.net - 桌面桥应用程序中的桌面快捷方式。我们从哪里获取AppUserModelId

标签 .net uwp shortcut desktop-bridge

第一次使用我的 Desktop Bridge 应用程序时,我正在尝试创建桌面快捷方式。

我成功创建了一个指向 Application.ExecutablePath 的桌面快捷方式,但是当用户打开快捷方式时会生成错误。该错误与用户无权访问该文件夹有关。

我在互联网上进行了研究,发现正确的方法是使用 shell 来执行此操作,如下所示: shell:AppsFolder\{AppUserModelId}

但至少在 Desktop-Bridge 中,当我实例化 Windows.ApplicationModel.AppInfo 时,它始终为 null。

问题是,我可以在哪里获取AppUserModelId,或者是否有其他方法可以在 UWP/Desktop Bridge 中创建桌面快捷方式。

谢谢。

最佳答案

要回答在哪里获取AppUserModelID的问题:

打包应用程序(DesktopBridge 或 UWP 应用程序)的 AUMID 仅由 PackageFamilyName + "!"组成+ PackageRelativeAppID

在秋季创作者更新中,我们还在 AppListEntry 上添加了一个属性,因此您无需自己编写它:
https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.core.applistentry#Properties

因此,要获取应用程序的 AUMID,您可以调用以下命令:

string aumid = (await Package.Current.GetAppListEntriesAsync()).First().AppUserModelId;

(假设您的软件包包含一个应用程序)

关于.net - 桌面桥应用程序中的桌面快捷方式。我们从哪里获取AppUserModelId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48054613/

相关文章:

keyboard - oxyplot 中已经实现了哪些键盘快捷键功能?

android - 如何让主屏幕快捷方式启动对话框?

c# - 为什么我不能将属性转换为嵌套元素?

c# - 在内存数据缓存中提高 .Net 应用程序的性能

c# - 我的通用类型转换器味道不好,运行时异常,对象包罗万象,拳击等

c# - BackgroundTask UWP Windows 10 TimeTriggeredTask 示例已注册但从未启动

vba - 在用户桌面上创建当前文件夹的快捷方式

.net - 如何解决 "%1 is not a valid Win32 application"?

UWP 远程调试错误 DEP4300 - 无法为应用程序包生成根文件夹

c# - 使用自定义商店区域解析货币