0

我已经为此工作了好几天,但仍然无法弄清楚如何做到这一点:创建一个自定义文件夹。

这是我使用的一些信息:

这些链接的目标与我之间的主要区别在于,我并没有试图将我的文件夹固定到其他地方。我唯一想做的就是创建一个到文件夹子目录的重定向。

这是我的简单图表: 主目录示意图

因此,如果我打开主目录(黄色部分),desktop.ini 和主目录的系统属性将调用我的自定义 CLSID(解释)并自动重定向我对重定向文件夹的访问。我的自定义 CLSID 还将在上下文菜单(右键单击时出现的列表)中添加一个选项来执行 .cmd 文件。.cmd 文件将允许用户在输入正确密码时访问隐藏文件夹。

所以这是我的注册表项:

Windows 注册表编辑器版本 5.00

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}] @=""

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\DefaultIcon] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d ,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d, 00,33,00,32,00,5c,00,73,00,68,00,\ 65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00 ,6c,00,6c,00,2c,00,2d,00,34,00,00,\ 00

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\InProcServer32] @="shell32.dll" "ThreadingModel"="ApartMent"

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\Instance] "CLSID"="{0E5AAE11-A475-4c5b-AB00-C66DE400274E}"

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\Instance\InitPropertyBag] "TargetFolderPath"="C:\Custom\Location\to\the\Main\Directory"

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\Shell]

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\Shell\Open Vault]

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\Shell\Open Vault\Command] @="cmd /c Open.cmd"

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\ShellFolder] "属性"=dword:00000000

看起来这会按预期工作,但它有一个缺陷:我的Main Directory实际上并没有将我重定向到Redirect Folder。这是我的证据:

  • 当我右键单击时,每个创建选项都消失了(创建新文件夹、文本文件等)
  • 当我使用上下文菜单中的第 3 方软件创建文件时,它没有在Redirect 文件夹中创建文件,而是在Main Directory中创建文件
  • 最重要的是,当我 Shift + 右键单击​​并打开命令提示符时,它将我的当前目录显示为主目录而不是重定向文件夹

所以我想问的是:如何将我的主目录访问完全重定向到重定向文件夹并在上下文菜单中保留我的隐藏文件夹打开选项?

4

1 回答 1

0

我不知道这是如何工作的,但我找到了解决方法。

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\shellex]

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\shellex{000214EE-0000-0000-C000-000000000046}] @="{0AFACED1-E828-11D1-9187-B532F1E9575D}"

[HKEY_CLASSES_ROOT\CLSID{a79ff1d1-166e-4f20-967f-5aa2a0c19cd0}\shellex{000214F9-0000-0000-C000-000000000046}] @="{0AFACED1-E828-11D1-9187-B532F1E9575D)

第一步是将以上行添加到注册表中。

添加这些后,我创建了一个随机文件夹(不包括 self 和其他一些特殊文件夹)的快捷方式文件(.lnk)。

当我将 .lnk 文件移动到Main 文件夹时,我可以从上下文菜单中访问创建新选项。

于 2017-03-19T00:12:39.300 回答