2012-08-23 49 views
2

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

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

回答

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]

+0

非常感谢。这有帮助。 – asuradancing

相关问题