windows客户端实现类似windows系统右键新建菜单功能

客户端右键新建菜单功能设计文档

功能需求:

 

现在Client客户端右键新建只能新建四个文件,创建文件方式兼容性相对较低,需要改进。

 

改进需求:

Client右键新建文件类型,需要跟操作系统(win xp)桌面“右键新建功能”内的新建文件类型一致。客户端“右键新建功能”内的文件类型,在用户安装新程序出现新文件类型的同时也需要更新。新建文件功能同时能够新建新的文件

 

技术方案:

Win xp的右键新建文件列表都存储在
HKEY_CURRENT_USER\Software\Microsoft\Windows

\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew项,可以直接从中获取。对于新创建文件大小非0kb文件,win xp c:\windows\shellNew 目录下读取相关模版,写入新建文件;新文件创建大小为0KB的文件,直接CreateFile;

操作系统右键新建文件实现原理:(以word为例子),如下图:


windows客户端实现类似windows系统右键新建菜单功能

(1) 操作系统右键新建文件实现流程

实现流程:

ClientKEY_CURRENT_USER\Software\

Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew中读取右键文件的列表,动态生成Client右键的新建文件类型列表。新建功能生成文件事件是动态绑定按钮。下面新建文件的功能实现模拟操作作系统的新建文件过程.如下图:

windows客户端实现类似windows系统右键新建菜单功能

图(2Client右键菜单文档实现方案