我正在开发一个自动化系统,它的功能之一是从命令行运行应用程序(我的意思是,无需人工干预即可自动运行)。
在Windows 7上,我可以通过命令行调用运行所需的一切,是否可以通过某些类似的方法在安装了Metro-apps的Windows 8上执行相同的操作?
Get-Help Appx
有关详细信息,请参阅),尽管目前我找不到任何运行它们的内容。
我正在开发一个自动化系统,它的功能之一是从命令行运行应用程序(我的意思是,无需人工干预即可自动运行)。
在Windows 7上,我可以通过命令行调用运行所需的一切,是否可以通过某些类似的方法在安装了Metro-apps的Windows 8上执行相同的操作?
Get-Help Appx
有关详细信息,请参阅),尽管目前我找不到任何运行它们的内容。
Answers:
是的 我找到了一个方法...
基于此源代码(“从桌面应用程序打开Metro风格应用程序”),我意识到我可以像通常手动运行一样调用Metro应用程序。我的意思是,如果您按Ctrl+ Esc并转到Metro的屏幕,则只需键入Metro应用程序的名称(例如“ store”),然后按即可Enter,Metro应用程序正在运行。基于此,我创建了一个非常简单的VBScript以自动完成以下步骤:
设置objShell = WScript.CreateObject(“ WScript.Shell”)
objShell.SendKeys“ ^ {ESC}”
WScript.Sleep 1000
objShell.SendKeys WScript.Arguments.Item(0)
WScript.Sleep 1000
objShell.SendKeys“ {ENTER}”
将其另存为“ metro.vbs”,并在命令行中使用第一个参数的Metro应用程序名称进行调用:
metro.vbs商店
就是这样,非常简单和优化的方式。
以下博客文章和支持代码向您展示了如何在PowerShell中使用IApplicationActivationManager进行此操作。
获取Metro应用程序列表并使用PowerShell在Windows 8中启动它们«Tome的IT之地
幸运的是,我能够在Stack Overflow上找到一些代码,这些代码演示了如何在C#中使用它(该帖子还列出了我将在本文中介绍的注册表信息)。经过一些代码和Add-Type语法的调整,我能够将所需的功能公开到PowerShell中。之后,只需将函数包装到类似于PowerShell的内容中即可。
我只是想出了另一种方法,并在http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-上写了一篇简短的文章快捷键或命令行/
简短版本:创建一个指向bingnews://的快捷方式,您可以查看它是否满足您的要求。如果是这样,则有更多说明在网站上获取名称。