#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;
}

最新文章

  1. JQuery.getJSON 从aspx页面返回JSON数据
  2. [Android新手区] SQLite 操作详解--SQL语法
  3. 使用最小堆来完成k路归并 6.5-8
  4. Android(java)学习笔记82:我们到底该如何处理异常?
  5. .woff 文件404,配置到web.config
  6. DES加密系统的实现
  7. js原型和原型链个人理解(我的理解)
  8. [RxJS] Refactoring Composable Streams in RxJS, switchMap()
  9. python手记(52)
  10. [MFC美化] USkin使用详解-使用方法
  11. 图的连通性:有向图强连通分量-Tarjan算法
  12. maven打包 bat自动化打包
  13. struts2 action接收请求参数和类型转换
  14. Object的方法
  15. Python 打印矩形、直角三角形、等腰三角形、菱形
  16. javascript:变量的作用域
  17. Linux cp命令详解
  18. Kafka动态增加Topic的副本
  19. 用flask Flask-RESTful,实现RESTful API
  20. JAVA_Package

热门文章

  1. 简述*args and **kwargs
  2. docker容器里面执行top报“TERM environment variable not set.”
  3. Hadoop(3)如何构建HDFS--HA,YARN---HA
  4. RK3399 4G模块移远EC20移植调试
  5. Node.js 目录操作
  6. Vue学习手记03-路由跳转与路由嵌套
  7. Python 自学笔记(七)
  8. VMware Workstation虚拟机打开系统时,提示“无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件。是否在安装 VMware Workstation 后重新引导?”
  9. 关于Vue.use()详解
  10. React拾遗(上)