当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 提示:正常关闭进程

作者:精品下载站 日期:2024-12-14 07:16:12 浏览:16 分类:玩电脑

PowerShell 提示:正常关闭进程


使用 cmdlet Stop-Process 可以轻松终止进程,但它往往会不太优雅地停止这些进程。

让我们以使用 notepad.exe 为例,该脚本将启动 notepad.exe 的新实例,输入一些重要数据并等待三秒钟:

add-type -AssemblyName microsoft.VisualBasic
add-type -AssemblyName System.Windows.Forms

$Process = Start-Process notepad.exe -PassThru
Start-Sleep -Milliseconds 500
[Microsoft.VisualBasic.Interaction]::AppActivate($Process.Id)
[System.Windows.Forms.SendKeys]::SendWait("This is some some important data")
Start-Sleep -Seconds 3

现在我们有了一个包含一些未保存数据的流程,让我们进入正题。

关闭记事本的最简单方法是使用 cmdlet stop-process,但正如之前提到的,这会不礼貌地终止进程,并且我们的“重要数据”将永远丢失。

相反,进程对象上有一个名为 CloseMainWindow 的静态方法,它将优雅地尝试关闭窗口。由于我们的重要数据未保存,记事本会在退出前询问我们是否要保存更改。

$Process.CloseMainWindow()

现在回答这个问题是另一篇文章的主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯