【Win】创建Explorer云盘图标

文章目录
  1. 1. 实现逻辑
  2. 2. 相关 API
  3. 3. 快速实现
概述

创建 Explorer 中网盘图标

相关说明

[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"