由于我看到的一切都是explorer.exe
,所以我在底部的屏幕截图中标记了它的不同部分,以便于理解。
总结
- 我可以让我的应用程序在单击“1”或“2”中的目录时默认打开目录吗?
- 通过对上述问题的更改,我是否仍然可以双击手动打开的“3”中的目录并在同一个“3”中打开,而不是使用我的应用程序?
更长的版本
对于我来说,“3”有些不方便。因此,我尝试用 C# 编写一个(简单的)我自己的文件列表应用程序。现在,我想要的是,当我双击桌面上的目录或单击“下载”或“个人文件夹”(在“1”或“2”中)等内容时,会调用我自己的应用程序(以目录路径作为参数),而不是“3”。
我搜索了网络并找到了一种“替换外壳”的方法HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
,但这种方法完全替换了所有内容,开始菜单/任务栏也消失了。并不是说我对开始菜单/任务栏没有意见,但重新创建开始菜单/任务栏会很困难,所以我只想替换“3”(或者,如果可能的话,也替换“1”)。
我以为我可以更改右键单击目录时看到的“打开”命令,但将HKEY_CLASSES_ROOT\Folder\shell\open\command\(Default)
from的值替换explorer.exe
为另一个 exe 不起作用。我该怎么做?
但是,在使我的应用程序默认打开目录后,如果我手动在“3”中打开目录(因为我无法重现“3”的每个功能,有时需要使用它),当我在“3”中双击一个目录时,是否可以让它在同一个“3”中打开,而不是在我的应用程序中打开?