设为首页 加入收藏

TOP

用VC++操作注册表
2012-11-04 15:23:29 来源: 作者: 【 】 浏览:197
Tags:操作 注册表

  注册表是Windows操作系统的数据库 它里面存着Windows启动和执行各种程序所需要的重要数据 我们经常要修改注册表对系统进行优化好满足我们不同的需要。

  在编写程序的过程中 我们有时候也要修改注册表,好实现某种功能。其实微软为我们设计了一系列API函数我们可以通过调用这些函数来执行修改注册表的功能。

  在这里向大家介绍两个经常要使用的函数,RegCreateKeyEx函数可以打开注册表,并且打开指定的子键,如果该键不存在就创建它。这个函数经常用来在注册表增加新的子键。RegSetValueEx函数用来向注册表里写数据它经常用来修改键值。

  下面我们编写一个例子程序来说明这两个函数的具体用法.

  我们使用VC++(www.cppentry.com)6.0来写这个程序。打开VC++(www.cppentry.com)6.0,使用MFC AppWizard新建一个基于对话框的工程,工程名为zhucebiao,在对话框上加上一个button控件,标题为“修改注册表”,在MFC ClassWizard中添加一个当我们使用鼠标单击这个控件时响应的函数,函数代码为:

//使用RegCreateKeyEx函数在HKEY_LOCAL_MACHINE主键的SOFTWARE子键下新建1个名称为“选中文字”的子键 hKey为返回的句柄 可以在其它函数中使用这个句柄。
HKEY hKey
DWORD dwDip
long ret= RegCreateKeyEx HKEY_LOCAL_MACHINE _T ″SOFTWARE\\选中文字″ 0l NULL REG_OPTION_VOLATILE KEY_ALL_ACCESS NULL &hKey &dwDip
CString str=″aaaaaaa″
DWORD leng=str.GetLength +1
LPBYTE lpb=new BYTE str.GetLength +1
for int i=0;i<str.GetLength;i++
lpb i=str i
lpb str.GetLength=0
//使用RegSetValueEx函数为新建的子键设置键值第1个参数为打开的代表该子键的句柄,第2个参数是子键名称,NULL代表修改默认值,第3个参数保留这里写NULL,第4个参数代表要设置的数据类型,这里是REG_SZ 代表写入的是字符串 第5个参数是写入的数据长度。再在程序中把默认值设置为了变量str的值。
long ret2=RegSetValueExhKey NULL NULL REG_SZ lpb leng
DWORD dwCon=243
//使用RegSetValueEx函数为新建的子键建立了一个名为con的键值,它的数据类型为DWORD类型,数据为243
ret2=RegSetValueExhKey _T ″con″ NULL REG_DWORD const byte &dwCon sizeof DWORD
//最后不要忘记使用RegCloseKey函数来关闭这个句柄
RegCloseKey hKey

  本程序使用VC++(www.cppentry.com)6.0在Windows98下编译,调试成功。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇利用模板技术简化VC中的代码 下一篇OpenGL下的场景层次化渲染

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: