概述
创建 Explorer 中网盘图标
相关说明
[toc]
实现逻辑
使用 IShellFolder + Shell Namespace Extension
相关 API
| 接口 / 技术 | 用途 |
|---|---|
IShellFolder / IShellView | Shell 命名空间扩展基础接口 |
IStorageProviderSyncRootManager | 云文件同步根管理 |
CfRegisterSyncRoot / cfapi.dll | 云盘占位符文件同步 |
SHCreateItemFromParsingName | 创建资源管理器项目 |
ShellExecuteEx | 打开目录或资源 |
注册 CLSID 到 MyComputer\Namespace | 插入“此电脑”快捷项 |
ShellFolder 注册表键 | 控制图标行为和样式 |
快速实现
快速实现一个网盘图标,无具体功能
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"