Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
您现在的位置: 天极网 > 开发频道 > 用VC++操作注册表
全文

用VC++操作注册表

2003-10-07 09:11 作者: 张建 出处: 电脑报 责任编辑:方舟

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

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

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

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

  我们使用VC++6.0来写这个程序。打开VC++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++6.0在Windows98下编译,调试成功。

网友关注
最新上市
编辑推荐
文章阅读排行
周排行
月排行
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml