VC++操作注册表(创建,读取,更改,删除)
2024-09-20 02:00:48
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
using namespace std;
/************************************
@ Brief: 打开注册表,读取Key对应value
@ Author: woniu201
@ Created: 2018/09/07
@ Return:
************************************/
int ReadReg(char* path, char* key, char* value)
{
HKEY hKey;
int ret = RegOpenKeyEx(HKEY_CURRENT_USER, path, 0, KEY_EXECUTE, &hKey);
if (ret != ERROR_SUCCESS)
{
cout << "打开注册表失败" << endl;
return 1;
}
//读取KEY
DWORD dwType = REG_SZ; //数据类型
DWORD cbData = 256;
ret = RegQueryValueEx(hKey, key, NULL, &dwType, (LPBYTE)value, &cbData);
if (ret == ERROR_SUCCESS)
{
cout << value << endl;
}
else
{
cout << "读取注册表中KEY 失败" << endl;
RegCloseKey(hKey);
return 1;
}
RegCloseKey(hKey);
return 0;
}
/************************************
@ Brief: 写注册表,如不存在自动创建
@ Author: woniu201
@ Created: 2018/09/07
@ Return:
************************************/
int WriteReg(char* path, char* key, char* value)
{
HKEY hKey;
DWORD dwDisp;
DWORD dwType = REG_SZ; //数据类型
int ret = RegCreateKeyEx(HKEY_CURRENT_USER, path,0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisp);
if (ret != ERROR_SUCCESS)
{
cout << "创建注册表失败" << endl;
return 1;
}
ret == RegSetValueEx(hKey, key, 0, dwType, (BYTE*)value, strlen(value));
if (ret != ERROR_SUCCESS)
{
cout << "注册表中创建KEY VALUE失败" << endl;
RegCloseKey(hKey);
return 1;
}
RegCloseKey(hKey);
return 0;
}
/************************************
@ Brief: 删除注册表
@ Author: woniu201
@ Created: 2018/09/07
@ Return:
************************************/
int DelReg(char* path)
{
int ret = RegDeleteKey(HKEY_CURRENT_USER, path);
if (ret == ERROR_SUCCESS)
{
cout << "删除成功" << endl;
}
else
{
cout << "删除失败" << endl;
return 1;
}
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
char value[32] = {0};
ReadReg("Software\\Woniu", "aaa", value);
WriteReg("Software\\Woniu", "aaa", "bbb");
DelReg("Software\\Woniu");
getchar();
return 0;
}
最新文章
- JQuery.getJSON 从aspx页面返回JSON数据
- [Android新手区] SQLite 操作详解--SQL语法
- 使用最小堆来完成k路归并 6.5-8
- Android(java)学习笔记82:我们到底该如何处理异常?
- .woff 文件404,配置到web.config
- DES加密系统的实现
- js原型和原型链个人理解(我的理解)
- [RxJS] Refactoring Composable Streams in RxJS, switchMap()
- python手记(52)
- [MFC美化] USkin使用详解-使用方法
- 图的连通性:有向图强连通分量-Tarjan算法
- maven打包 bat自动化打包
- struts2 action接收请求参数和类型转换
- Object的方法
- Python 打印矩形、直角三角形、等腰三角形、菱形
- javascript:变量的作用域
- Linux cp命令详解
- Kafka动态增加Topic的副本
- 用flask Flask-RESTful,实现RESTful API
- JAVA_Package
热门文章
- 简述*args and **kwargs
- docker容器里面执行top报“TERM environment variable not set.”
- Hadoop(3)如何构建HDFS--HA,YARN---HA
- RK3399 4G模块移远EC20移植调试
- Node.js 目录操作
- Vue学习手记03-路由跳转与路由嵌套
- Python 自学笔记(七)
- VMware Workstation虚拟机打开系统时,提示“无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件。是否在安装 VMware Workstation 后重新引导?”
- 关于Vue.use()详解
- React拾遗(上)