Windows 中的 Metro 应用似乎在其安装目录中有一个特殊扩展名,例如新的 Windows 终端位于C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.3.2382.0_x64__8wekyb3d8bbwe\
。我注意到其他 metro 应用_8wekyb3d8bbwe
在其路径中也有该扩展名。
我在编写 AutoHotkey 脚本时遇到了这个问题,该脚本必须启动 Windows 终端,这是通过
Run shell:AppsFolder\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe!App
它看起来与安装目录路径相似,但命令中没有版本或体系结构( _1.3.2382.0_x64_
缺少部分)。但是我必须指定_8wekyb3d8bbwe
才能使其工作,我很好奇这是什么。
代表什么_8wekyb3d8bbwe
?其背后有何意义以及它为何存在?
答案1
该8wekyb3d8bbwe
字符串似乎没有任何用处,除了确保来自 Microsoft 的软件包名称不会与用户名冲突。
您将在 Microsoft 列表中看到 Windows 10 版本 1709 中预配的应用的程序包名称 Microsoft 的所有软件包名称都以此字符串结尾。
至于为什么选择这个字符串而不是其他字符串,我无法解释。也许一些微软开发人员只是随机敲击键盘。从字母的分布来看,他可能是用左手敲击的。
答案2
8wekyb3d8bbwe
是微软的PublisherId
,这就是为什么他们发布的所有应用程序的软件包名称都以它结尾。
其他发布者发布的应用程序将具有其他ID(例如,HP 有v10z8vjag6ke6
)。
您可以通过在 PowerShell 中运行来查看所有已安装软件包的列表Get-AppxPackage *
。在列表中,您可以看到大多数应用程序都来自 Microsoft,并且软件包 ID 以 结尾8wekyb3d8bbwe
。您还可能找到其他公司发布的一些应用程序,这些应用程序的发布者 ID 也不同。
答案3
您可以通过其 URL 而不是其 exe 文件来启动现代应用程序。
@Echo This takes a few seconds to run ...
@For /f "tokens=1* delims=" %%A in ('reg query HKCR /f "URL:*" /s /d ^| findstr /c:"URL:" ^| findstr /v /c:"URL: " ^| Sort') Do @Echo %%A %%B
pause
上述批处理文件列出了您的计算机上注册的 URL。
例如
(Default) REG_SZ URL:calculator
要启动当前版本计算器
calculator://