我从Powershell启动“Explorer.exe”,想要获取资源管理器窗口的进程ID,这样我就不会在其他资源管理器窗口上误操作。
代码:启动进程“Explorer.exe”-PassThru
结果:我可以看到进程ID,但它与UISpy或任务管理器中窗口的真实进程ID不同。看来explorer.exe启动另一个进程(B)可以自行退出,最后我们看到进程(B)。而我得到的进程是退出的进程。
问题:如何获取真实的进程ID(B)?
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
您将看到它是同一组资源管理器实例。我认为这与 reg key 有关HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced [SeparateProcess]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)