注册自己的文件格式,并且让其与自己的程序相关联,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文件双击的时候,启动我们的程序
而且右键菜单的最顶层有我们的程序索引....
一种是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文件双击的时候,启动我们的程序
而且右键菜单的最顶层有我们的程序索引....
(图片演示查找另外图片演示的文件夹)
希望对大家有用,代码实现修改注册表部分我就不写了,固定接口,百度很多。附件有图片操作示例