QT 读写查询注册表

        最近在开发项目中,以往都是写一个ini文件来保存软件参数,之前做过MFC版本的读写注册表就想着要不QT也做成注册表形式用来保存软件中的参数和配置信息,这样的话也不需要担心被误删、被直接修改较为方便和安全了许多。

本文作者原创,转载请附上文章出处与本文链接。

1 .h源文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include <QSettings>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    void set_regedit();  //写注册表
    void get_regedit_numb();//读注册表值
private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

2 .cpp文件

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

//写注册表
void MainWindow::set_regedit()
{
    QSettings *Config_ini_Write= new QSettings("HKEY_LOCAL_MACHINE\\SYSTEM\\DreamBeging.VIP", QSettings::NativeFormat);
        Config_ini_Write->setValue("ip", "127.0.0.1");
        Config_ini_Write->setValue("com", "com1");
        Config_ini_Write->setValue("port", "6060");
    delete Config_ini_Write;
}

//读注册表值
void MainWindow::get_regedit_numb()
{
    QSettings *Config_ini_Read=new QSettings("HKEY_LOCAL_MACHINE\\SYSTEM\\DreamBeging.VIP",QSettings::NativeFormat);//文件路径存在则打开,不存在则创建
        qDebug() << Config_ini_Read->value("ip").toString();
        qDebug() << Config_ini_Read->value("com").toString();
        qDebug() << Config_ini_Read->value("port").toString();
    delete Config_ini_Read;

}

void MainWindow::on_pushButton_clicked()
{
    set_regedit();
}

void MainWindow::on_pushButton_2_clicked()
{
    get_regedit_numb();
}

void MainWindow::on_pushButton_3_clicked()
{
    QSettings *Config_ini_Find=new QSettings("HKEY_LOCAL_MACHINE\\SYSTEM\\DreamBeging.VIP",QSettings::NativeFormat);//文件路径存在则打开,不存在则创建
        QStringList keys = Config_ini_Find->allKeys();//读取目录下所有键值
    delete Config_ini_Find;

}

3 效果

 

 

 

pro文件加入管理员权限

QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双子座断点

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值