如何在 AutoHotKey 中启动 Windows 商店应用程序?

How To Start Windows Store Apps in AutoHotKey?

Window 应用商店应用与经典 Windows 应用不同。后者通常安装在 C:\Program Files 下的清晰路径中。因此,AutoHotKey (AHK) 脚本可以通过 "Run" 简单地 运行 经典应用程序以及应用程序可执行文件的路径。但是,似乎没有 Windows 存储应用程序可执行文件的简单路径。那么,如何以简单的方式启动 Windows 在 AutoHotKey 脚本中存储应用程序?

假设 OS 是 Windows10。以下步骤是在 AHK 脚本中启动 Windows Store 应用程序的简单方法:

  1. 创建一个文件夹,例如D:\WinStoreAppLinks
  2. 拖放 Windows 商店应用,例如OneNote(手机),通过鼠标在所有应用程序列表中到 D:\WinStoreAppLinks(通过文件资源管理器)。它将在那里创建一个 link,OneNote。您可以根据需要重命名它。
  3. 该应用程序可以在 AutoHotKey 脚本(或命令提示符)中 运行,例如:

Run, D:\WinStoreAppLinks\OneNote

Run shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App

检查 shell:AppsFolder 以获得完整的应用程序名称列表

这个 autohotkey 脚本 https://github.com/JuanmaMenendez/AutoHotkey-script-Open-Show-Apps 与任何类型的应用程序完美配合。

Windows Store Apps 的特定情况下,阅读 Find AppUserModelID 部分并使用 效用函数c)

这是一个对我有用的更详细的答案:

  1. 在资源管理器中 window 导航到 shell:AppsFolder。这是一个包含所有 Windows 应用程序
  2. 的目录
  3. 找到您要启动的应用程序(在我的例子中是 Windows Terminal),右键单击它,然后 select Create Shortcut
  4. 接受提示以在桌面上创建此快捷方式
  5. 将此快捷方式放在桌面以外的其他位置(例如 C:\Shortcuts)。如果需要重命名
  6. 将此添加到您的 AHK 脚本中:

    Run, "C:\Shortcuts\Windows Terminal"
    

然后简单地重新加载您的 AHK 脚本。享受

我注意到我可以使用 运行 命令通过键入应用程序名称来启动应用程序。因此,例如,要启动名称中包含空格的 Windows Store 应用程序,您可以尝试类似的操作:

Run, Files UWP - Preview

...其中“文件 UWP - 预览”可以是任何应用的全名,如“开始”菜单中所示。

此解决方案的一个优点是它不依赖于可能被删除的快捷方式。

2020 年 10 月 27 日测试(有效)

  • 如果您懂土耳其语,请检查此 site
  • 您可以使用这个 powershell 脚本来查找商店应用程序的命令
$appName = Read-Host "App name"
$installedapps = get-AppxPackage
foreach ($app in $installedapps)
{
    foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
    {
        
        $line = $app.Name + " = " + $app.packagefamilyname + "!" + $id
        if ($line.IndexOf($appName, [System.StringComparison]::CurrentCultureIgnoreCase) -ge 0) {
            echo "shell:appsFolder$app.packagefamilyname!$id" 
        }
    }
}
  • 要使用它,首先将此脚本复制到记事本,然后select全部重新复制并粘贴到 powershell 控制台
  • WhatsApp 的示例输出:
shell:appsFolder19275A.WhatsAppDesktop_2.2041.7.0_x64__cv1g1gvanyjgm.packagefamilyname!WhatsAppDesktop
  • 最后复制这些命令并在 AHK 中使用
Run explorer.exe "shell:appsFolder19275A.WhatsAppDesktop_2.2041.7.0_x64__cv1g1gvanyjgm.packagefamilyname!WhatsAppDesktop"

We need to copy to notepad to avoid powershell end of line issue (official bug) that makes line reserved