我需要能够运行此脚本,并且如果窗口尚未最大化,则使窗口最大化。如果不是,请恢复窗口。窗口就是当前活动的任何东西,所以不需要具体(但如果你这样做可以获得奖励积分)8O)
我计划通过快捷键击启动它。
它确实需要在PS v1下运行(我知道,我知道,但我无法控制工作中的版本)。
感谢。
澄清:由于我无法将PS更新为v2,我也无法安装单独的应用程序。有没有办法用本机命令执行此操作?
答案 0 :(得分:2)
Set-WindowPosition - 设置窗口中顶部,左侧,宽度,高度中的任何一个(或全部)...或最大化/最小化/恢复
Get-WindowPosition - 获取位置(实际上是多余的,因为Window对象具有它作为属性的位置)
答案 1 :(得分:0)
这有效:
(Get-Host).UI.RawUI
$a = (Get-Host).UI.RawUI
$a.BackgroundColor = "white"
$a.ForegroundColor = "black"
$size = (Get-Host).UI.RawUI.WindowSize
$size.Width = 80
$size.Height = 30
(Get-Host).UI.RawUI.WindowSize = $size
但这不是:
$position = (Get-Host).UI.RawUI.Windowposition
$position.X = 0
$position.Y = 30
(Get-Host).UI.RawUI.Windowposition = $position
答案 2 :(得分:0)
以防您自己或您的工作场所允许开源模块:
我使用了UIAutomation powershell模块(http://uiautomation.codeplex.com/)。 这是我的powershell脚本,用于将窗口移动到另一个监视器(需要转到正常模式并最大化模式)。
Start-Process Chrome
##orient new chrome window in full screen on left monitor
#get reference to new chrome window
$nextWin = Get-UiaWindow -Name "*New Tab*"
#transform window to "restore" mode (make sure window is not maximized)
$nextWin.SetWindowVisualState("Normal")
#move window to left monitor
$nextWin.Move(-1920,0)
#maximize window
$nextWin.SetWindowVisualState("Maximize")
当然这里的主要优惠是:
$nextWin.SetWindowVisualState("Normal")
$nextWin.SetWindowVisualState("Maximize")
$nextWin.SetWindowVisualState("Minimize")
获取窗口($ nextWin)有很多选项,包括 Get-UiaActiveWindow