概述
相关说明
[toc]
实现逻辑
使用 IShellFolder + Shell Namespace Extension
相关 API
| 接口 / 技术 |
用途 |
IShellFolder / IShellView |
Shell 命名空间扩展基础接口 |
IStorageProviderSyncRootManager |
云文件同步根管理 |
CfRegisterSyncRoot / cfapi.dll |
云盘占位符文件同步 |
SHCreateItemFromParsingName |
创建资源管理器项目 |
ShellExecuteEx |
打开目录或资源 |
注册 CLSID 到 MyComputer\Namespace |
插入“此电脑”快捷项 |
ShellFolder 注册表键 |
控制图标行为和样式 |
快速实现
快速实现一个网盘图标,无具体功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Windows Registry Editor Version 5.00
; 创建一个出现在“此电脑”中的入口(图标 + 路径)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\Namespace\{B899D869-05C0-404D-ABB5-0D55E4197EF5}] @="我的云盘"
[HKEY_CLASSES_ROOT\CLSID\{B899D869-05C0-404D-ABB5-0D55E4197EF5}] @="我的云盘" "System.IsPinnedToNameSpaceTree"=dword:00000001
[HKEY_CLASSES_ROOT\CLSID\{B899D869-05C0-404D-ABB5-0D55E4197EF5}\DefaultIcon] @="C:\\Program Files\\MyCloudDisk\\CloudDisk.ico"
[HKEY_CLASSES_ROOT\CLSID\{B899D869-05C0-404D-ABB5-0D55E4197EF5}\InProcServer32] @="shell32.dll" "ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{B899D869-05C0-404D-ABB5-0D55E4197EF5}\ShellFolder] "Attributes"=dword:f080004d
[HKEY_CLASSES_ROOT\CLSID\{B899D869-05C0-404D-ABB5-0D55E4197EF5}\Instance] "CLSID"="{0E5AAE11-A475-4C5B-AB00-C66DE400274E}"
[HKEY_CLASSES_ROOT\CLSID\{B899D869-05C0-404D-ABB5-0D55E4197EF5}\Instance\InitPropertyBag] "Attributes"=dword:11 "TargetFolderPath"="C:\\Users\\YourName\\BaiduNetdiskDownload"
|