一.操作环境
二.注册表查看
1. 搜索注册表打开
2. 注册表查看
例如我想操作 计算机\HKEY_CURRENT_USER\SOFTWARE\winzq\qwert下的内容
三.代码
1. H文件
#ifndef __REGISTER_H__
#define __REGISTER_H__
#include <QString>
#include <QSettings>
#include <QStringList>
#include <QDebug>
#include "../qaesencryption/qaesencryption.h"
#define LIST_DATE1 "date1"
#define LIST_DATE2 "date2"
#define LIST_SYSTEM_MODE "mode"
#define LIST_DEVICE_MODEL "device_model"
#define REGPATH "HKEY_CURRENT_USER\\Software\\winzq\\qwert"//创建的注册表路径
void set_regedit(QString keyname, QString regvalue);//写注册表
void remov_regedit(QString keyname);
QString get_regedit_numb(QString keyname);//读注册表值
#endif // TEST_H
2.CPP
#include "registry_key.h"
/**
* @brief 向注册表写入值
* @param keyname:键值
* @param regvalue:数据
* @retval None
*/
void set_regedit(QString keyname, QString regvalue)
{
QSettings *writeReg = new QSettings(REGPATH, QSettings::NativeFormat); // 初始化QSettings对象
writeReg->setValue(keyname, regvalue); // 写入注册表值
delete writeReg; // 释放QSettings对象
}
/**
* @brief 从注册表读取值
* @param keyname:键值
* @retval None
*/
QString get_regedit_numb(QString keyname)
{
QSettings *ReadReg = new QSettings(REGPATH, QSettings::NativeFormat); // 初始化QSettings对象
QString value = ReadReg->value(keyname).toString(); // 读取注册表值
delete ReadReg; // 释放QSettings对象
return value;
}
/**
* @brief 删除注册表
* @param keyname:键值
* @retval None
*/
void remov_regedit(QString keyname)
{
QSettings *writeReg = new QSettings(REGPATH, QSettings::NativeFormat); // 初始化QSettings对象
writeReg->remove(keyname);
delete writeReg; // 释放QSettings对象
}
四.操作实例
#define LIST_DATE1 "date1"
#define REGPATH "HKEY_CURRENT_USER\\Software\\winzq\\qwert"//创建的注册表路径
1.读取
QString key_data1 = get_regedit_numb(LIST_DATE1);
2.写入
写入的同时会自己创建注册表
set_regedit(LIST_DATE1, "123123");
3.删除
remov_regedit(LIST_DATE1);