windows客户端实现类似windows系统右键新建菜单功能
2018-02-23 14:26
288 查看
客户端右键新建菜单功能设计文档功能需求:
现在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为例子),如下图:
图(1) 操作系统右键新建文件实现流程
实现流程:
Client从KEY_CURRENT_USER\Software\
Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew中读取右键文件的列表,动态生成Client右键的新建文件类型列表。新建功能生成文件事件是动态绑定按钮。下面新建文件的功能实现模拟操作作系统的新建文件过程.如下图:
图(2)Client右键菜单文档实现方案
现在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为例子),如下图:
图(1) 操作系统右键新建文件实现流程
实现流程:
Client从KEY_CURRENT_USER\Software\
Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew中读取右键文件的列表,动态生成Client右键的新建文件类型列表。新建功能生成文件事件是动态绑定按钮。下面新建文件的功能实现模拟操作作系统的新建文件过程.如下图:
图(2)Client右键菜单文档实现方案
相关文章推荐
- Android网络编程之一个Android下菜单系统模块的实现(客户端—添单功能(中部))
- Android网络编程之一个Android下菜单系统模块的实现(客户端—开桌功能(下部))
- 实现文件右键“打开方式”菜单功能(查看系统这种功能对比实现)
- Android网络编程之一个Android下菜单系统模块的实现(客户端—添单功能(上部))
- 平台如如何实现类似windows的右键菜单
- Android网络编程之一个Android下菜单系统模块的实现(开桌功能))(Android客户端+服务器端Servlet+Mysql)
- Android网络编程之一个Android下菜单系统模块的实现(客户端—结算功能)
- 实现文件右键“打开方式”菜单功能(查看系统这种功能对比实现)(读注册表的方法)
- 平台如如何实现类似windows的右键菜单
- Android网络编程之一个Android下菜单系统模块的实现(客户端—开桌功能(上部))
- [转]编程实现自定义系统右键菜单功能
- 在linux系统下,简单实现类似windows的_splitpath函数的功能
- FLEX入门实例--------FLEX全屏功能实现及右键菜单
- ListBox添加右键菜单并选择该项功能的实现
- Windows右键新建菜单添加菜单项(收藏)
- js_实现右键菜单功能
- SWT实现右键菜单功能
- FLEX入门实例--------FLEX全屏功能实现及右键菜单
- 网页防Windows菜单功能实现
- 屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能