如何从Powershell启动Explorer的进程ID

时间:2012-08-23 03:10:44

标签: powershell windows-explorer

我从Powershell启动了“Explorer.exe”,并希望获取资源管理器窗口的进程ID,以便我不会在其他资源管理器窗口上误操作。

代码:Start-Process“Explorer.exe”-PassThru 结果:我可以看到进程ID,但它与UISpy或任务管理器中窗口的实际进程ID不同。似乎explorer.exe启动另一个进程(B)可以退出自己,最后我们看到进程(B)。我得到的过程是退出的过程。 问题:如何获得真实的进程ID(B)?

1 个答案:

答案 0 :(得分:4)

Explorer.exe将暂时启动一个全新的流程,但该流程将很快死亡,将其状态移交给现有的资源管理器流程。一般来说,它不会持续存在并且会增加越来越多的流程,就像大多数程序一样。

请参阅此操作:

"Old explorer.exe instances"
Get-Process explorer

Start-Process explorer.exe
sleep 1  # wait for this one to die

"New explorer.exe instances"
Get-Process explorer

您将看到它是同一组资源管理器实例。我认为这与注册码HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced [SeparateProcess]

有关