QT之读写注册表

QT之读写注册表

本文讲述了QT的注册表一些简单操作,包括创建、读取、写入等操作。直接贴代码,供大家参考。

头文件如下:

#ifndef TEST_H
#define TEST_H

#include"qstring.h"

#define keyname                     "key"//创建的注册表名称
#define regPath                     "HKEY_CURRENT_USER\\Software"//创建的注册表路径
#define initial_key                 "0"//默认初始的值

class TEST
{
public:
    TEST();
    void detection_regrdit();//注册表检测
    void set_regedit(QString regvalue);//写注册表
    QString get_regedit_numb();//读注册表值
};

#endif // TEST_H

源文件如下:

#include "test.h"
#include"qsettings.h"

TEST::TEST()
{
    
}

void TEST::detection_regrdit()//
{
    bool have_key=false;
    QSettings *programReg=new QSettings(regPath,QSettings::NativeFormat);//文件路径存在则打开,不存在则创建
    QStringList keys = programReg->allKeys();//读取目录下所有键值
    
    for(int i  = 0 ; i < keys.size();i++){//检测注册表键是否存在,不存在就创建
        QString id = keys.at(i);
        if(id.contains(keyname))
        {
            have_key=true;
            break;
        }
        
    }
    
    if(have_key==false)//如果不存在,创建
    {
        set_regedit(initial_key);//写注册表
    }
    delete programReg;
    
    
    QString regvalue = get_regedit_numb();//读取注册表值
   
    set_regedit(regvalue);//写注册表
    
}


void TEST::set_regedit(QString regvalue)//写注册表
{
    QSettings *writeReg=new QSettings(regPath,QSettings::NativeFormat);//文件路径存在则打开,不存在则创建
    writeReg->setValue(keyname, regvalue);//写注册表
    delete writeReg;
}

QString TEST::get_regedit_numb()//读注册表值
{
    QSettings *ReadReg=new QSettings(regPath,QSettings::NativeFormat);//文件路径存在则打开,不存在则创建
    QString value=ReadReg->value(keyname).toString();//读注册表
    delete ReadReg;
    
    return value;
    
}

这里用到了QSettings进行注册表的相关操作。

首先打开要创建的注册表目录,如果该目录不存在,就会进行创建;然后会读取目录下的所有键值对,检测自己想要的键值对是否存在,如果不存在,再进行创建,并赋初值;如果存在的话直接进行读取操作;后面的写入操作其实和创建操作是一样的,这里我没有改变注册表值,直接又做了写入,实际应用时一般会赋其他的值。

以上就是关于注册表的一些相关操作。

如果觉得这篇文章对您有帮助,欢迎点赞、评论、转发、收藏!您的支持是我创作的最大动力!

  • 1
    点赞
  • 9
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

极崆

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值