#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++操作注册表(创建,读取,更改,删除)的更多相关文章

  1. C语言操作注册表 写入 读取信息

    #include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Micr ...

  2. C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .

    转:http://blog.csdn.net/smartsmile2012/article/details/8682295 #region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// & ...

  3. [转]C#操作注册表

    原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...

  4. C#操作注册表全攻略

    相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...

  5. Reg命令使用详解 批处理操作注册表必备

    首先要说明:编辑注册表不当可能会严重损坏您的系统.在更改注册表之前,应备份计算机上任何有价值的数据 只有在别无选择的情况下,才直接编辑注册表.注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性 ...

  6. C#操作注册表(简单方便,兼容X32和X64)

    C#操作注册表(简单方便,兼容X32和X64) 大家好,我在这里给大家介绍本人实现的操作注册表的类,简单方便,兼容32位系统和64位系统. 一般大家用C#操作注册的方法是使用命名空间Microsoft ...

  7. Win64 驱动内核编程-6.内核里操作注册表

    内核里操作注册表 RING0 操作注册表和 RING3 的区别也不大,同样是"获得句柄->执行操作->关闭句柄"的模式,同样也只能使用内核 API 不能使用 WIN32 ...

  8. 使用C#操作注册表

    这节讲一下使用C#操作注册表. 首先来了解一下,什么是注册表,注册表是Windows中特有的一个东西,百度百科中对其解释如下:Windows注册表(Registry)实质上是一个庞大的数据库,它存储着 ...

  9. Win.ini和注册表的读取写入

    最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中.下面介绍一下Win.ini文件的读写方法和注册表的编程. 先介绍下Win.i ...

随机推荐

  1. python 3 安装

    如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一.安装p ...

  2. AT2306 Rearranging

    有一个显然的,就是不互质的数的相对位置是不会改变的,那么我们把它们放到一个连通块里面去,然后我交换就是交换两个里面最小的对吧.直接连起来然后跑\(TopSort\)就行了. #include<s ...

  3. Bsgs模板

    模板最主要的是自己看得舒服,不会给自己留隐患,调起来比较简单,板子有得是,最主要的是改造出适合你的那一套.                  ——mzz #include<bits/stdc++ ...

  4. EL表达式 与 JSTL标准标签库

    目录 EL表达式 什么是EL表达式 作用 EL内置11对象 EL执行表达式 JSTL 什么是JSTL JSTL标准标签库有5个子库 把JSTL标签库jar包引入工程当中 if标签 foreach标签 ...

  5. Echarts常用API(echarts和echartsInstance)

    一.echarts上的方法 一般在项目中引入echarts之后,可以获得一个全局的echarts对象. 1.下面是几个比较常用的echarts方法 echarts.init() 创建一个echarts ...

  6. ip6tables命令

    ip6tables命令和iptables一样,都是linux中防火墙软件,不同的是ip6tables采用的TCP/ip协议为IPv6. 语法 ip6tables(选项) 选项 -t<表>: ...

  7. Python 自学笔记(七)

    1.定义函数和调用函数 1-1.定义函数 定义函数的语法书写:def 函数名(参数名)(注:括号内可以为空,也可以为多个参数,多个参数间用逗号隔开即可) 由上可以看出,函数默认返回None 2.函数的 ...

  8. GDPR全文翻译(一)

    General Data Protection Regulation <一般数据保护法案>全文翻译(一) 编者按 2016年4月14日,欧洲议会投票通过了商讨四年的<一般数据保护法案 ...

  9. angular中子组件通过@Output 触发父组件的方 法

    1. 子组件引入 Output 和 EventEmitter import { Component, OnInit ,Input,Output,EventEmitter} from '@angular ...

  10. Greenwich.SR2版本的Spring Cloud Config+BUS实例

    Spring Cloud Config统一的配置中心同注册中心Eureka一样,也分服务端和客户端.服务端用来保存配置信息,客户端用来读取.它的优势是基于Git仓库,支持多环境.多分支配置.动态刷新. ...