我正在尝试创建一个可以在登录时使用任务计划程序运行的 WSF。我希望它打开终端,切换到 Quake 模式,最小化它,然后关闭原始终端窗口。 我已经完成了打开终端并激活 Quake 的操作,但我不确定如何将焦点转移到 Quake 终端以将其最小化,然后返回到原始终端以退出。 最好的方法 - 可能不是,但我正在尝试一些东西,所以如果可以的话我想坚持这个。
这就是我目前所拥有的
<package>
<job id="vbs">
<script language="VBScript">
Set objShell = WScript.CreateObject("WScript.Shell")
Function SendKeysTo (process, keys, wait)
objShell.AppActivate(process.ProcessID)
objShell.SendKeys keys
WScript.Sleep wait
End Function
Set terminal= objShell.Exec("wt")
WScript.Sleep 500
SendKeysTo terminal, "^(`)", 1000 ' Works down to here
SendKeysTo terminal, "^(`)", 1000 ' I'm guessing this is still trying to input to the first terminal window which doesn't have focus anymore
SendKeysTo terminal, "exit{ENTER}", 1000
</script>
</job>
</package>
我将 Quake 快捷键更改为 Ctrl+`,因为它无法模拟 WinKey 按下,我对此表示同意。
最简单的方法是在登录时为您的用户创建快捷方式。 甚至无需鼠标即可完成。
打开用户的启动文件夹:
Win + R
-> shell:startup
在资源管理器窗口中,创建一个新快捷方式:
ALT + F, W, S
输入以下内容:
wt -w _quake powershell -window minimized
为其命名,例如Quake Mode Terminal。
随意添加任何其他命令。 我个人喜欢从分割窗口开始。 在
sp
之后添加 _quake
。
对于那些想要使用 TDarkshadows 答案但想使用 Powershell 7 的人,这对我有用。
程序/脚本:“C:\Program Files\PowerShell\pwsh.exe”
添加参数:-Command wt -w _quake pwsh -nologo -window 最小化