我想自动化 Microsoft Windows 10 通用 Windows 平台软件应用程序的启动过程。
根据这个问题,如果不求助于解决方法,这个问题仍然不可行。
解决方法是指编写使用 Microsoft Windows PowerShell 集成 shell 脚本环境的批处理文件,以启动该特定软件应用程序。
但是,文件夹中没有指向该特定软件应用程序的直接路径C:\Windows\SystemApps\
。
有什么线索吗?
在评论和下面已经提供的前两个答案之后更新:
该应用程序被称为“天气”。它的长名似乎是“ Microsoft MSN Bing Weather ”。
下面给出了基于 Microsoft PowerShell Integrated Shell-Scripting Environment 的自动化解决方案的答案。
一个简单的手动解决方法如下:
使用开始菜单(而不是像全屏模式那样覆盖整个桌面视图的开始屏幕),在桌面视图上拖放“天气”图块。
按Windows+R组合键以弹出“运行”对话框。
类型
shell:startup
和Enter键。从文件夹内的桌面视图中复制“天气”快捷方式。
StartUp
您可以像这样调用 UWP 应用程序:
如果在 PowerShell 中运行以下命令:
你会得到
PackageFamilyName
和PackageName
返回。然后您可以在上面提到的命令中使用它。例如,如果您想启动 Windows 应用商店:然后你可以编写你自己的
Start-AppxPackage
函数(这对我来说是个谜,为什么还没有本机 cmdlet)然后您可以像这样简单地使用它,例如:
您还可以一次启动多个应用程序:
然后可以将此命令包含在启动脚本或类似的东西中
然而,老实说,这似乎是通过资源管理器启动 shell 应用程序的超级错误。过了一会儿,它只在我的文档上打开了资源管理器,而不是启动正确的 shell 应用程序。
Windows 商店应用程序有一些怪癖,但可以处理。Powershell 将 windows store 应用称为
AppxPackages
,但一个包中可以有多个应用,因此我们还需要检查该AppxManifest.xml
文件以获取更多信息。首先你需要包名,你可以通过将快捷方式拖到桌面找到它,然后检查属性> Targettype(你只需要一个唯一的名称):
现在在 Powershell 中,我们获取包 - 您可以通过将快捷方式拖到桌面,然后检查属性 > Targettype 来找到包名称:
然后我们得到它的manifest的XML数据:
然后我们从 XML 中获取包 ID:
为了我们的理智,我们检查以确保我们只有一个应用 ID:
就我而言,我有不止一个,所以我将手动指定 ID:
最后,我们启动应用程序:
或作为单个脚本:
请注意:这必须以当前登录用户身份运行。