VC++操作注册表(创建,读取,更改,删除)
#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;
}

VC++操作注册表(创建,读取,更改,删除)的更多相关文章
- C语言操作注册表 写入 读取信息
#include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Micr ...
- C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .
转:http://blog.csdn.net/smartsmile2012/article/details/8682295 #region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// & ...
- [转]C#操作注册表
原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...
- C#操作注册表全攻略
相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...
- Reg命令使用详解 批处理操作注册表必备
首先要说明:编辑注册表不当可能会严重损坏您的系统.在更改注册表之前,应备份计算机上任何有价值的数据 只有在别无选择的情况下,才直接编辑注册表.注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性 ...
- C#操作注册表(简单方便,兼容X32和X64)
C#操作注册表(简单方便,兼容X32和X64) 大家好,我在这里给大家介绍本人实现的操作注册表的类,简单方便,兼容32位系统和64位系统. 一般大家用C#操作注册的方法是使用命名空间Microsoft ...
- Win64 驱动内核编程-6.内核里操作注册表
内核里操作注册表 RING0 操作注册表和 RING3 的区别也不大,同样是"获得句柄->执行操作->关闭句柄"的模式,同样也只能使用内核 API 不能使用 WIN32 ...
- 使用C#操作注册表
这节讲一下使用C#操作注册表. 首先来了解一下,什么是注册表,注册表是Windows中特有的一个东西,百度百科中对其解释如下:Windows注册表(Registry)实质上是一个庞大的数据库,它存储着 ...
- Win.ini和注册表的读取写入
最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中.下面介绍一下Win.ini文件的读写方法和注册表的编程. 先介绍下Win.i ...
随机推荐
- EXTJS框架-入门实例
extjs框架是一个JavaScript框架,可以渲染出丰富的控件 实例: 代码: <html> <head> <title>test</title> ...
- 用win-acme给windows服务器添加SSL(Let's Encrypt)证书
本文是我今天用win-acme给windows服务器添加SSL(Let's Encrypt)证书的一个过程,主要是给我自己备忘的. 1.首先先在github上下载最新版的win-acme. 下载地址: ...
- Java主流锁
Java主流锁相关知识点概图,为方便预览,将思维导图上传至印象笔记,博客园直接上传图片受限于图片大小. 印象笔记url:https://app.yinxiang.com/shard/s24/nl/27 ...
- RK3399 修改系统默认语言为简体中文
CPU:RK3288 系统:Android 7.1 修改系统默认语言为简体中文 diff --git a/build/target/product/full_base.mk b/build/targe ...
- vue 脚手架安装
首先安装node.js npm 配置全局安装路径和缓存 node 安装路径下新建两个目录,node_cache和node_global npm config set prefix "E:\n ...
- Project Euler Problem (1~10)
1.If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. Th ...
- Cesium入门-2-增加地形
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- html中的lang标记有什么用
html中的lang标记有什么用 一.总结 一句话总结: 为文档或元素设定主语言(即lang) 比如google浏览器有个自动翻译的功能,而自动翻译要看这个文档的语言 1.其它标签中设置lang属性? ...
- 关于浏览器请求PHP一次请求执行了两次
测试同学今天又双叒反馈了一个Bug 继上次解决了重复请求的问题之后,本来就以为可以万事大吉了,没想到我还是太年轻了,测试同学说,不行啊,老哥,你这个我点击了一次创建居然创建出来两条数据!!并且查看日志 ...
- python使用redis实现协同控制的分布式锁
python使用redis实现协同控制的分布式锁 上午的时候,有个腾讯的朋友问我,关于用zookeeper分布式锁的设计,他的需求其实很简单,就是节点之间的协同合作. 我以前用redis写过一个网络锁 ...