之前的一篇博客如何在Computer下添加System Folder里提到需要每次都使用一个新的guid,否则再次在"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace"下添加该键无法在Windows Explorer看到它。这个例子参考了Windows SDK部分内容,但是它不够完美无法为相应的文件夹添加一些额外的功能,且每次需要一个新的guid。下面给出一个更优化的方式:
1、这个操作需要在三个注册表键下添加相同的内容:
"HKEY_CLASSES_ROOT\CLSID"
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID"
"HKEY_CURRENT_USER\Software\Classes\CLSID"
2、以"HKEY_CLASSES_ROOT\CLSID"为例,在"HKEY_CLASSES_ROOT\CLSID"下New Key:{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89},默认值可以定义显示名称。并添加以下值:
1)InfoTip=[信息提示]
2)LocalizedString=[本地化字符串]
3、"HKEY_CLASSES_ROOT\CLSID\{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}"下New Key:DefaultIcon,默认值可以定义图标路径。
4、"HKEY_CLASSES_ROOT\CLSID\{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}"下New Key:InprocServer32,默认值shdocvw.dll。并添加以下值:
1)ThreadingModel=Apartment
6、"HKEY_CLASSES_ROOT\CLSID\{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}"下New Key:Instance。并添加以下值:
1)CLSID={0AFACED1-E828-11D1-9187-B532F1E9575D}
7、"HKEY_CLASSES_ROOT\CLSID\{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}\Instance"下New Key:InitPropertyBag,默认值为空。并添加以下值:
1)Target=[文件夹目录]
8、"HKEY_CLASSES_ROOT\CLSID\{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}"下New Key:ShellFolder,并添加以下值:
1)Attributes=4169142600
2)PinToNameSpaceTree=
3)QueryForOverlay=
4)wantsFORPARSING=