我需要关闭,然后以全屏模式重新打开Google Chrome(通过Windows Scheduler)。
我的代码在一个PowerShell脚本文件(.ps1
)中:
# Close Google Chrome
Get-Process chrome | ForEach-Object { $_.CloseMainWindow() | Out-Null }
# Wait for a few seconds to ensure Chrome is fully closed
Start-Sleep -Seconds 5
# Reopen Google Chrome in full-screen mode
Start-Process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList "--start-fullscreen"
但它并没有关闭Chrome。
你能看出代码有什么问题吗?或者是否可以添加日志以查看任何错误?
谢谢你,马克
1条答案
按热度按时间ghg1uchk1#
.CloseMainWindow()
方法只 * 请求 * 关闭目标进程的主窗口,而不 * 强制执行 *。Stop-Process
代替,如Compo建议:如果你想给予Chrome进程有机会先优雅地关闭,然后“回退到”强制终止,你可以将这两种方法结合起来:
注意使用member-access enumeration来简化调用
.CloseMainWindow()
的代码:(Get-Process -ErrorAction Ignore chrome).CloseMainWindow()
在Get-Process
返回的 each 进程对象上自动调用.CloseMainWindow()
;try
/catch
shell 确保如果碰巧 * 没有 * 匹配的进程,不会发生错误,因为尝试调用$null
上的方法会导致错误。