注册表编程扫盲(二)

原创 2004年10月05日 23:58:00
二。RegOpenKeyEx,以及RegCloseKey
    先说一下RegOpenKeyEx,看字面的意思就知道是打开一个键,由于RegCreateKeyEx也可以打开一个键的,所以这个函数就有点那个了。不过这个函数比RegCreateKeyEx简单n倍,所以还是很有用的了。它是这样声明的:
LONG RegOpenKey(HKEY hKey,LPCTSTR lpSubKey,PHKEY phkResult);
一看,这些参数是不是很熟悉了啊?hKey,lpSubKey,phkResult的意思和RegCreateKeyEx函数中这些参数的意思没什么两样了。这里不多说了,到上一节去看看就知道了。返回值还是老样子,ERROR_SUCCESS就表示成功打开了。
    再来看看RegCloseKey,很简单,只有一个参数:
LONG RegCloseKey(HKEY hKey) 就是关闭一个键了,关闭一个键以后,句柄就没用了。我不知道关闭一个键了和不关有什么不同,不过养成随时关闭的习惯总是有好处的。返回值?不用说,同上。

三。RegSetValueEx
    RegSetValueEx,也就是已经知道一个键句柄了,对这个键的数据进行新建或改写。就好象已经知道一个文件夹,然后对其中的文件改动。一看就知道很有用了。对一些系统的数据改动的话,可以产生很牛的效果!!!啊,真是振奋人心啊!!!不过不要乱改啊,把系统该坏了别找我啊。少说废话了,看一下怎么用的:
LONG RegSetValueEx(
  HKEY hKey,         
  LPCTSTR lpSubKey,
  DWORD Reserved,
  DWORD dwType, 
  LPCTSTR lpData,
  DWORD cbData 
);
hKey:不用说了吧?
lpSubKey:字符串,就是你要设置的数据项的名字了,就好象文件名那样。
Reserved:没用,必须是0。
dwType:数据的类型,有很多种,我只说两种常用的了。REG_SZ和REG_DWORD,就是字符串型和DWORD(unsigned long)型了。一般就是这两种的。
lpData:就是你要设置的数据了,如果是字符串的话,先要把首地址强制转化成无符号型的指针,再传过去。如果是整数的话,先取地址,再强制转化成无符号型的字符指针,再串过去。
DWORD cbData:你要设置的数据的长度,如果是字符串型的,则是strlen+1。如果是整数就是4了。返回值同上。
还是举个例吧:
#include<windows.h>
void main()
{
 DWORD dwRes;
 HKEY hk;
 char szName[4]="我";
 DWORD dwScore=100;
 RegCreateKeyEx(HKEY_LOCAL_MACHINE,
               "SOFTWARE//Carrier Studio//Hello",  
0,                                  
NULL,                              
REG_OPTION_NON_VOLATILE,           
KEY_ALL_ACCESS,                    
NULL,                              
&hk,
                &dwRes
);
 RegSetValueEx(hk,"Name",0,REG_SZ,(LPBYTE)szName,3);
 RegSetValueEx(hk,"Score",0,REG_DWORD,(LPBYTE)dwScore,4);
 RegCloseKey(hk);
}
好了,写了这么多累死我了,先休息一下。



网口扫盲一、二、三

网口扫盲一网口扫盲二网口扫盲三
  • iot_hept
  • iot_hept
  • 2015年11月04日 19:23
  • 491

注册表编程扫盲(一)

前言        今天看了一本注册表方面的书,觉得还不错。特别还写了一章注册表编程。呵呵,我现在就我的理解把它贴上来给大家分享一下:)    什么是注册表我不用说了吧,反正大家都知道了。不知道?其实...
  • s98
  • s98
  • 2004年10月05日 23:58
  • 2338

注册表编程扫盲

前言        今天看了一本注册表方面的书,觉得还不错。特别还写了一章注册表编程。呵呵,我现在就我的理解把它贴上来给大家分享一下:)    什么是注册表我不用说了吧,反正大家都知道了。不知道?其实...
  • xiaoxiaohai123
  • xiaoxiaohai123
  • 2007年07月11日 12:59
  • 798

注册表编程扫盲(三)

三。RegQueryValueEx和RegEnumValue    以上都是在说如何写注册表,不过很多情况下都要读注册表的。啊,来看一下有哪几个API,1,2,...怎么又这么多?算了,就说两个吧,应...
  • s98
  • s98
  • 2004年10月05日 23:59
  • 1174

App知识扫盲

Cordova Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。 Cordova还提供了一组统一的Java...
  • NianChenCao
  • NianChenCao
  • 2017年06月08日 10:07
  • 234

windows注册表编程

Windows注册表 1 注册表的作用          注册表在windows中非常重要,它是一个庞大的数据库,里面保存了大量的系统信息,例如保存软件硬件的配置信息,计算机系统的设置,性能记录。  ...
  • zhuhuangtianzi
  • zhuhuangtianzi
  • 2014年08月13日 14:54
  • 1354

注册表编程快速入门

最近涉及到了一些注册表的编程,就把入门的一些东西整理一下,各位注册表新手一起来讨论讨论。欢迎留言! 文本的完整代码在http://download.csdn.net/detail/arvon2012...
  • arvon2012
  • arvon2012
  • 2012年08月07日 16:45
  • 1492

VC 注册表编程(二)

转自 http://www.cnblogs.com/lartely/archive/2011/04/10/2011770.html 转自 http://wenku.baidu.com/view/f3...
  • L_Andy
  • L_Andy
  • 2012年11月28日 17:44
  • 1091

windows 注册表编程

注册表是windows操作系统中用来存储系统设置的数据库。里面存储一些例如系统语言、已安装软件的配置、系统硬件配置等信息。用户可以通过对注册表的增减、修改等操作使得系统达到自己所需的运行效果。wind...
  • julius819
  • julius819
  • 2011年10月17日 16:19
  • 2571

深度学习之从零带你入门(扫盲篇)

一、基本概念扫盲 人工智能、机器学习、神经网络、深度学习这些字眼相信一些人都见过,但是并不知道他们之间的关系,这里本人整理相关资料后给出较为准确的定义。 这里大家先看如下一张图: 正如上图所示,...
  • z4909801
  • z4909801
  • 2017年10月30日 22:38
  • 266
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:注册表编程扫盲(二)
举报原因:
原因补充:

(最多只允许输入30个字)