更新

更新

在 Superuser 上至少有几条关于 Explorer 替代品(又称替代文件管理器)的帖子。最受欢迎的帖子似乎是这个: https://superuser.com/q/90/60860

但我希望拥有的是这些可用选项中具有我在标题中指出的功能的较小子集:也就是说,我只对与 Windows 集成且不需要打开或启动的 Explorer 替代品感兴趣。换句话说,如果我双击一个文件夹,那么这个 Explorer 替代品将打开该文件夹。这与许多替代文件管理器形成了鲜明对比,它们不会接管 Explorer。我做了一些搜索,用户 fluxtendu链接很酷维基百科页面包含文件管理器之间的功能比较,但不幸的是它没有提到我正在寻找的功能。

我已经从个人经验中知道一个符合这一标准的程序:Explorer++。我告诉由 afrazier 提供,Directory Opus 和 explorer2 也这样做。还有哪些其他选项?

当然,我也希望得到推荐。我想我对 Explorer++ 并不十分满意,这就是为什么我想尝试其他产品。

答案1

问题是 Windows 资源管理器还提供了 Windows 的整个外壳。因此,当您单击该文件夹图标时,您很可能已经在使用资源管理器。它只是启动了另一个进程(或窗口)。

您可能需要研究一下外壳替换。


更新

好的,让我更详细地讲一下我对事物的理解。

整个系统如何运作

让我们从我的桌面开始。
我的桌面是由 shell 绘制的。shell 由 Windows 启动时运行的初始进程提供explorer.exe。如果我的桌面上有一个文件夹:
在此处输入图片描述

我可以双击它来打开它: 在此处输入图片描述

这创建了一个新explorer.exe进程,现在正在显示显示文件夹内容的窗口。但是有很多方法可以打开同一个窗口。

那么为什么 Windows 决定使用explorer.exe来显示该文件夹?
好吧,正如我所说,桌面已经是一个explorer.exe进程了。因此它只会使用ShellExecuteEx()让 shell 决定如何处理它。然后 shell 将创建一个新的explorer.exe实例(因为它是硬编码的据我所知)。

因此,您可以做的是不要使用explorer.exe提供您的 shell(您似乎已经这样做了)。您只需在注册表中提供一个备用应用程序即可:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

但没有人停止新的 shell 会调用ShellExecuteEx(),这将再次调用默认 shell ,因此explorer.exe

所以现在怎么办?

所以如果你真的想要替换 Windows 资源管理器,请替换文件 explorer.exe因为最终每个程序可以仍然尝试C:\Windows\explorer.exe直接执行,然后您再次拥有相同的旧 Explorer。

但是,请记住,我从未尝试explorer.exe在系统上进行替换,所以我不知道这是否可行和/或是否稳定使用。

应用程序 XYZ 是如何做到的?

有几个应用程序可以简单地插头进入 Explorer,例如选项卡栏。也许 Explorer++ 的工作方式相同。这样您就不需要触碰任何东西,因为您的修改始终会加载到新explorer.exe进程中。详细了解该进程将需要一个全新的答案。

文件打开对话框怎么样?

这是一系列全新的问题。文件保存文件打开对话是通用对话框库。试图取代它们是难以想象的。关于它们的说法与我所说的差不多explorer.exe。但这会更可怕。

相关内容