自定义文件夹出错
Error with a custom folder
我已经为此工作了好几天,但仍然不知道该怎么做:创建一个自定义文件夹。
以下是我使用的一些信息:
我和这些链接的目标之间的主要区别是我没有试图将我的文件夹固定到其他地方。我唯一想做的就是创建一个到文件夹子目录的重定向。
这是我的简单图表:
所以如果我打开主目录(黄色部分),desktop.ini和主目录的系统属性将调用我的自定义 CLSID (Explanation) 并自动将我的访问重定向到 Redirect Folder。我的自定义 CLSID 还将在上下文菜单(右键单击时出现的列表)中添加一个选项来执行 .cmd 文件。 .cmd 文件将使用户能够在输入正确的密码后访问隐藏文件夹。
所以这是我的注册表项:
Windows Registry Editor Version 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]
"Attributes"=dword:00000000
看起来这会按预期工作,但它有一个缺陷:我的 主目录 实际上没有将我重定向到 重定向文件夹 .这是我的证据:
- 当我右键单击时,所有创建选项都消失了(创建新文件夹、文本文件等)
- 当我使用上下文菜单中的第 3 方软件创建文件时,它没有在 Redirect 文件夹 中创建文件,而是在 Main 中创建文件目录
- 最重要的是,当我 Shift + 右键单击并打开命令提示符时,它显示我的当前目录为 Main Directory 而不是 Redirect Folder
所以我想问的是:如何完全重定向我的 主目录 访问 重定向文件夹 并保留我的隐藏文件夹打开上下文菜单中的选项?
我不知道这是怎么回事,但我找到了解决方法。
[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 文件移动到 主文件夹 时,我可以从上下文菜单中访问 新建 选项。
我已经为此工作了好几天,但仍然不知道该怎么做:创建一个自定义文件夹。
以下是我使用的一些信息:
我和这些链接的目标之间的主要区别是我没有试图将我的文件夹固定到其他地方。我唯一想做的就是创建一个到文件夹子目录的重定向。
这是我的简单图表:
所以如果我打开主目录(黄色部分),desktop.ini和主目录的系统属性将调用我的自定义 CLSID (Explanation) 并自动将我的访问重定向到 Redirect Folder。我的自定义 CLSID 还将在上下文菜单(右键单击时出现的列表)中添加一个选项来执行 .cmd 文件。 .cmd 文件将使用户能够在输入正确的密码后访问隐藏文件夹。
所以这是我的注册表项:
Windows Registry Editor Version 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] "Attributes"=dword:00000000
看起来这会按预期工作,但它有一个缺陷:我的 主目录 实际上没有将我重定向到 重定向文件夹 .这是我的证据:
- 当我右键单击时,所有创建选项都消失了(创建新文件夹、文本文件等)
- 当我使用上下文菜单中的第 3 方软件创建文件时,它没有在 Redirect 文件夹 中创建文件,而是在 Main 中创建文件目录
- 最重要的是,当我 Shift + 右键单击并打开命令提示符时,它显示我的当前目录为 Main Directory 而不是 Redirect Folder
所以我想问的是:如何完全重定向我的 主目录 访问 重定向文件夹 并保留我的隐藏文件夹打开上下文菜单中的选项?
我不知道这是怎么回事,但我找到了解决方法。
[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 文件移动到 主文件夹 时,我可以从上下文菜单中访问 新建 选项。