当前位置: 网学 > 编程文档 > VB > 正文

Win32 API 注册表类的编制以及使用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
值。

在初始化对话框时就应打开注册表并读取所需的信息,这三项存放路径为HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows \CurrentVersion下,
分别读出windows 版本号(放置于Version键值中),注册用户名(放置于RegisteredOwner键值中),Windows 安装目录(放置于SystemRoot 键值中 ),更多的信息请使用Windows 目录下的 RegEdit.exe程序.

需用到注册表类的原程序文件中加上 #inxlude " MyRegKey.h"  即可。
在文件 RegTechDlg.cpp 中初始化对话框的地方加上以下代码打开路径并读取键值:

BOOL CRegtechDlg::OnInitDialog()
{

CDialog::OnInitDialog();

.
.

// TODO: Add extra initialization here


//###########################################

// 打开注册表路径 .

CMyRegKey regKey1,regKey2,regKey3;

regKey1.RegOpen(HKEY_LOCAL_MACHINE,
_T("Software\\Microsoft\\Windows\\CurrentVersion"));
regKey2.RegOpen(HKEY_LOCAL_MACHINE,
_T("Software\\Microsoft\\Windows\\CurrentVersion"));
regKey3.RegOpen(HKEY_LOCAL_MACHINE,
_T("Software\\Microsoft\\Windows\\CurrentVersion"));


// 读取键值并分别传递到编辑控件参数中去:
regKey1.RegRead(_T("Version"),m_Version);
regKey2.RegRead(_T("RegisteredOwner"),m_UserID);
regKey3.RegRead(_T("SystemRoot"),m_Install);
UpdateData(FALSE);

//############################################

return TRUE; // return TRUE unless you set the focus to a control
}

在重新输入了注册用户名后,按下更改按钮(按钮控件ID_ChangeID),将完成注册表的写入操作:

void CRegtechDlg::OnChangeID()
{


//########################

CMyRegKey regKey;


regKey.RegOpen(HKEY_LOCAL_MACHINE,
_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion"));

// 传递从编辑拦输入的值并写入打开路径的指定键值名中:

UpdateData(TRUE);
regKey.RegWrite(_T("RegisteredOwner"),m_UserID);
MessageBox("更改注册用户名完毕!","Message",MB_ICONINFORMATION|MB_OK);


///#########################


// TODO: Add your control notification handler code here

}

注册表类在实际应用程序编制中使用频率极高,比如程序员自定义的文件的图标选择等的很多地方都要用到,所以一个成熟优秀的应用程序应尽可能的适应环境及发挥操作系统的各种优势,在此,使用win32 API对Windows灵魂--注册表存取技术的操作已完成 ,你就可以利用它来完善自己的应用程序了。 

  • 下一篇资讯: 用VB编写键盘拦截程序
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号