我想在F10上创建一个热键,当按下该按键时,将打开一个名为Notes的文本文件。这是一个简单的部分,它是:
C:\Users\Matt\Notes.txt
但是我还希望再次按相同的热键来保存文件并退出。
我只对脚本感兴趣,我可以通过热键运行PowerShell。
答案 0 :(得分:1)
从脚本中删除编辑器就像这样简单:
$proc = Start-Process -FilePath C:\Bin\Notepad++.exe -arg C:\Users\Matt\Notes.txt -PassThru
更棘手的部分是弄清楚如何保存&关闭文件。如果编辑器碰巧有COM对象模型,你可以使用它,但我怀疑你的编辑器是Word。 :-)
另一种通用方法是使用WinForms SendKeys功能。然而,更好的方法是使用Windows UI Automation框架来驱动任意应用程序的UI。甚至还有一个PowerShell模块包装了这个API,使其易于使用PowerShell。它被称为UIAutomation。以下是如何使用它的示例:
Start-Process calc -PassThru | Get-UIAWindow |
Get-UIAButton -Name [1-3] | Invoke-UIAButtonClick;
您可以将$proc
替换为上面的Start-Process calc -PassThru
位。