改注册表实现的增加右键菜单右键菜单,注册自己的文件格式

    注册自己的文件格式,并且让其与自己的程序相关联,Windows下,方法有两种:


 一种是shell编程,系统提供了一些接口可以通过这些接口也能注册和关联自己的文件,由于过程繁琐,我们在这里不讨论




 另外一种就是修改注册表,通过修改注册表,来对我们的文件根式进行关联,关联之前我们先来看看注册表的所有跟键






 |- HKEY_CLASSES_ROOT                 // 该根键指明其文件类型的名称
 
 |- HKEY_CURRENT_USER                 // 该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码
 
 |- HKEY_LOCAL_MACHINE                // 该根键存放本地计算机硬件数据,
 
 |- HKEY_USERS                        // 该根键保存了存放在本地计算机口令列表中的用户标识和密码列表


 |- HKEY_CURRENT_CONFIG               // 该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)...等




对于我们注册文件类型来说,我们需要了解第一个根键HKEY_CLASSES_ROOT,这个跟键下面保存了系统所有被注册的文件格式(.exe .dat ....)这个格式跟键的值就是与这个格式相关联的


跟键如.gpk格式,我的.gpk格式的跟键值为HKEY_CLASSES_ROOT\.gpk  =  gpkfile;


我们在HKEY_CLASSES_ROOT下面找到这个关联的文件根式的跟键  HKEY_CLASSES_ROOT\gpkfile 找到之后,看看其下面的子健:


 |- HKEY_CLASSES_ROOT\gpkfile\DefaultIcon







 |- HKEY_CLASSES_ROOT\gpkfile\shell  这个子健下又有两个子健---------| -HKEY_CLASSES_ROOT\gpkfile\shell\open   看看这个键的值(用 V骑士 打开 (&O)) // 没错,他就是添加到右键菜单里的 如何点击这个菜单的时候响应我们的程序呢?


响应我们的程序在HKEY_CLASSES_ROOT\gpkfile\shell\open下面又有一个子健 HKEY_CLASSES_ROOT\gpkfile\shell\open\command  这个键的值最终关联了我们的程序..D:\Projects\Str_Base64_Decryption\Debug\Str_Base64_Decryption.exe "%1"
这是我自己关联的自己的程序,%1要用引号扩起来,并且与之前的路径用空格间隔







 |- HKEY_CLASSES_ROOT\gpkfile\ShellEx  






最后我们需要让这些指定的程序显示我们指定的图标,也简单,看 |- HKEY_CLASSES_ROOT\gpkfile\DefaultIcon 这个键 。。直接翻译都是漠然图标。哈哈,我们只需将我们的程序的路径给他,他就会默认用我们程序的图标,如果你的路径下图标够多
也可以指定其显示










最后  举例来修改我们的.gpk格式的关联程序吧






1.首先找到关联跟键,HKEY_CLASSES_ROOT\.gpk 的值记录了他的关联跟键,所以我们以此找到关联的跟键HKEY_CLASSES_ROOT\gpkfile


2.在这个跟键下面,我们找shell的子健,HKEY_CLASSES_ROOT\gpkfile\shell 这个键下面又有Open子健HKEY_CLASSES_ROOT\gpkfile\shell\open   open下面可以添加我们的右键菜单,如果我们直接给open这个键值得话,他直接替换右键菜单的开始键


3.open 下面有一个子健HKEY_CLASSES_ROOT\gpkfile\shell\open\command   这个就是关联文件格式跟程序的,只要把这个键设为我们程序的路径加“%1”(有引号)这个字串,那么,我们程序就可以在.gpk文件双击的时候,启动我们的程序


而且右键菜单的最顶层有我们的程序索引.... 


(图片演示查找另外图片演示的文件夹)


   希望对大家有用,代码实现修改注册表部分我就不写了,固定接口,百度很多。附件有图片操作示例








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值