我可以安全地假设 Windows 资源管理器总是从 Windows 系统目录启动吗?另外,它的进程是否总是命名为“explorer.exe”?
如果没有,如何获取其完整文件路径?
编辑:忘了提——我需要这个稍后找出在给定用户会话中运行的 Windows 资源管理器的进程 ID。因此我寻找它的完整路径。
编辑2:感谢所有做出贡献的人,尤其是sehe!在他的帖子之后,我发现这个页面解释了如何设置你自己的 shell。我通过用我自己的进程完全替换 explorer.exe 进行了疯狂测试,结果如下: 如果您重新调整大小, 这是完整大小的链接。
正如你所看到的,我可以用我可能想出的任何进程在技术上替换 explorer.exe。正如您在我的屏幕截图中看到的那样,Windows 让我可以完全控制Shell(屏幕截图是我的整个窗口。)
因此,最重要的是,获取“explorer.exe”文件路径(或使用的任何 Shell 进程)的唯一方法是使用我上面引用的链接中的那些注册表项 - 非常接近 sehe 建议的内容,只需一个还有一些检查要做,但这是一个非常简单的事情。
至于 Sean Cline 的建议,只有当我们运行带有具有特定类名的托盘窗口的“普通”Windows Explorer 时,这将是一个非常优雅的解决方案。