【问题标题】:Desktop Shortcut in Desktop Bridge App. Where do we get the AppUserModelId桌面桥应用程序中的桌面快捷方式。我们从哪里获得 AppUserModelId
【发布时间】:2018-01-02 01:27:48
【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

    标签: .net uwp shortcut desktop-bridge


    【解决方案1】:

    回答从哪里获得AppUserModelID的问题:

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

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

    因此,要为您的应用获取 AUMID,您可以这样调用:

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

    (这是假设您的包包含单个应用程序)

    【讨论】:

    • 我无法在 VS 2015 中编译它,它说在 AppListEntry 对象中找不到 AppUserModelId。我该怎么办?
    【解决方案2】:

    我在互联网上进行了研究,发现正确的方法是用 shell 来做:shell:AppsFolder{AppUserModelId}

    在 Windows 8.1 中,您可以使用上述方式为您的应用创建快捷方式,但在 Windows 10 中不建议这样做。现在,您可以将应用的图标从Start 拖到桌面,直接创建快捷方式。

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

    Windows.ApplicationModel.AppInfo 对打包的桌面应用程序不可用。更多内容可以参考this官方文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      相关资源
      最近更新 更多