Chrome 使用Powershell关闭特定子进程

dpiehjr4  于 2023-01-18  发布在  Go
关注(0)|答案(1)|浏览(185)

我想通过powershell根据窗口标题关闭一个特定的子进程。具体来说,这是关于关闭一个特定的chrome窗口。当我通过powershell命令打开窗口时,我确实有窗口标题。但chrome总是有多个窗口打开。在任务管理器中,也可以通过“右键单击”关闭一个特定的子进程。

最后,我想做同样的事情,但作为一个powershell命令...
有什么主意吗?谢谢帮忙。
我已经可以获取所有正在运行的chrome进程,但是只有最后一个活动的chrome进程/窗口有一个mainWindowTitle。

我也有过这样的想法:把我想要关闭的窗口放到前台,然后发送快捷键来关闭窗口。但是这也不是那么容易,因为当它不是最后一个活动窗口时,我不能根据窗口标题来访问进程/窗口,以进行进一步的操作。

nwsw7zdq

nwsw7zdq1#

使用窗口标题关闭子进程非常简单,但在解释如何执行此操作之前,我将解释我对you are really looking for的看法。
启动子流程时,通常使用Start-Process,例如:

Start-Process chrome.exe "https://ober-geschaeftsfuehrer.de"

该cmdlet不返回任何内容,您将面临查找并识别该进程的挑战(例如,使用MainWindowTitle,就像您之前尝试的那样)
但是,如果我告诉您,您可以为创建的流程分配一个变量,然后使用变量值操纵该流程,您会怎么想?
通过使用-PassThru(某些CmdLet上常用的参数),cmdlet将返回受其执行影响的对象。在这种特定情况下,它将返回创建的进程句柄,您将在稍后处理该句柄以终止该进程:

$myProcess = Start-Process chrome.exe "https://ober-geschaeftsfuehrer.de" -PassThru
# Doing stuff or waiting for user interaction
Stop-Process $myProcess.Id

相关问题