关于注册表
时间:2011-12-23
来源:互联网
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
创建一个ProxyEnable 类型为 REG_DWORD 数值为1
创建一个ProxyServer 类型为 REG_SZ 数值为192.168.1.1:80
求可运行代码
创建一个ProxyEnable 类型为 REG_DWORD 数值为1
创建一个ProxyServer 类型为 REG_SZ 数值为192.168.1.1:80
求可运行代码
作者: lizhougen 发布时间: 2011-12-23
关于注册表有相关一系列的函数
C/C++ code
C/C++ code
#include <iostream> #include <Windows.h> #include <assert.h> //创建一个注册表的键值。chKey为主键, chValue为键的路径,值插入的默认的名中 bool SetRegKey( const HKEY& hKeyRoot, const char* chKey, const char* chValue) { assert(chKey); HKEY hKey; //要插入的hkey //创建或打开一个要插入的hkey long lRes= ::RegCreateKeyExA(hKeyRoot, //插入的主键 chKey, //要创建的键名 0, //保留字 NULL, //lpClass貌似很强大,但是我知道有什么用 REG_OPTION_NON_VOLATILE, //操作属性设置为不常改变 KEY_ALL_ACCESS, //权限设置为都可以用 NULL, //安全属性为默认 &hKey, //保存创建好的key NULL //得到返回类型是打开还是创建 ); if (lRes != ERROR_SUCCESS) //如果不成功返回false; { return false; } if (chValue != NULL) //如果要插入默认键值 { ::RegSetValueExA(hKey, NULL, 0, REG_SZ,(byte*)chValue, strlen(chValue)+1); } RegCloseKey(hKey); //关闭key return true; } //清除注册表值,hKeyPar为父节点的键值, chKey为键的 bool DeleteKey(const HKEY& hKeyPar, const char* chKey) { HKEY hKeySub; //要清除的hkey //打开清除的hkey long lRes = ::RegOpenKeyExA(hKeyPar, chKey, 0, KEY_ALL_ACCESS, &hKeySub); if (lRes != ERROR_SUCCESS) //如果没有,返回false { return false; } //遍历key的所有子节点,并一并清除 char chBuffer[MAX_PATH]; unsigned long nSize = MAX_PATH; //遍历子节点,清除,这里注意nIndex一直为0,因为每次有删除第0个子键,所以用0的索引就 //能遍历删除所有的子键。如果是查询的话,就必须要改变nIndex来遍历。还有就是注意nSize //他是一个_in_out的参数,内部会改变他,所以每次都要把他设置为原来MAX_PATH while (::RegEnumKeyExA(hKeySub, 0, chBuffer, &nSize, 0,0,0,0) == ERROR_SUCCESS) { //如果找到子键,就删除子键 if (!DeleteKey(hKeySub, chBuffer)) { ::RegCloseKey(hKeySub); return false; } nSize = MAX_PATH; } //需要先关闭该建,才能删除它。 RegCloseKey(hKeySub); //调用系统函数删除该键 if (::RegDeleteKeyA(hKeyPar, chKey) != ERROR_SUCCESS) { return false; } return true; } int main() { SetRegKey(HKEY_CLASSES_ROOT, "MyTestRegInserKey", "MyTestRegInserKey"); SetRegKey(HKEY_CLASSES_ROOT, "MyTestRegInserKey\\cV1\\CC2", "MyTestRegInserKey"); SetRegKey(HKEY_CLASSES_ROOT, "MyTestRegInserKey\\cV1\\CC3", "MyTestRegInserKey"); DeleteKey(HKEY_CLASSES_ROOT, "MyTestRegInserKey"); system("pause"); return 0; }
作者: dahuaixiaohuai 发布时间: 2011-12-23
引用 1 楼 dahuaixiaohuai 的回复:
关于注册表有相关一系列的函数
C/C++ code
#include <iostream>
#include <Windows.h>
#include <assert.h>
//创建一个注册表的键值。chKey为主键, chValue为键的路径,值插入的默认的名中
bool SetRegKey( const HKEY& hKeyRoot, const char* c……
关于注册表有相关一系列的函数
C/C++ code
#include <iostream>
#include <Windows.h>
#include <assert.h>
//创建一个注册表的键值。chKey为主键, chValue为键的路径,值插入的默认的名中
bool SetRegKey( const HKEY& hKeyRoot, const char* c……
大哥。你这篇东西我看过~我要现成的代码,应该可以写的比这个简单很多的
作者: lizhougen 发布时间: 2011-12-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28