我已经为此工作了好几天,但仍然无法弄清楚如何做到这一点:创建一个自定义文件夹。
这是我使用的一些信息:
这些链接的目标与我之间的主要区别在于,我并没有试图将我的文件夹固定到其他地方。我唯一想做的就是创建一个到文件夹子目录的重定向。
因此,如果我打开主目录(黄色部分),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 + 右键单击并打开命令提示符时,它将我的当前目录显示为主目录而不是重定向文件夹
所以我想问的是:如何将我的主目录访问完全重定向到重定向文件夹并在上下文菜单中保留我的隐藏文件夹打开选项?