Qt 操作注册表实现文件关联

来源:互联网 发布:苹果电脑怎么打开软件 编辑:程序博客网 时间:2024/06/07 12:44

最近,项目中经常碰到需要先打开软件,然后再加载相应的工程文件这样的繁琐操作,为了更好的客户体验(主要是自己想偷懒敲打),遂决定添加文件关联,


文件关联:是将一种类型的文件与一个可以打开它的程序建立起一种依存关系。举个栗子来说,位图文件(BMP文件)在Windows中的默认关联程序是“图片”,如果将其默认关联改为用ACDSee程序来打开,那么ACDSee就成了它的默认关联程序。(转自 百度百科)


有了这个想法之后,立马付诸行动,首先想到的当然是百度相关代码并xx之,正所谓前人栽树后人乘凉嘛,然而可能是我使用的方法不对,抄来的代码总是达不到理想的效果,然后只能自己造了呗,仔细拜读前人代码,将主要的操作定位到注册表[]HKEY_CURRENT_USER\\Software\\Classes]这个位置处,打开注册表编辑器,找到对应的位置处:

如图:


随便下拉浏览了下内容,突然看到了熟悉的QtProject.QtCreator.xx之类的东西,看名字也大概能看出来,这不就是QtCreator相关文件的关联设置吗,于是随便点开查看,以UI文件为例,如下图




看起来也没什么啊,好像挺简单的,顾名思义,DefaultIcon就是默认图标,shell就是打开文件时的命令(源于之前的经验微笑),好像很简单啊,

于是就先照猫画虎,通过以下代码创建类别以及其子类相关数据:


待续...


这是最终代码:





0 0
原创粉丝点击