MFC操作注册表
1.创建和修改注册表
BOOL CTestToolCtr::GetHkey(CString strHkey, HKEY& hkey)
{
if ( == strHkey.CompareNoCase(_T("HKEY_CLASSES_ROOT")))
{
hkey = HKEY_CLASSES_ROOT;
}
else if ( == strHkey.CompareNoCase(_T("HKEY_CURRENT_CONFIG")))
{
hkey = HKEY_CURRENT_CONFIG;
}
else if ( == strHkey.CompareNoCase(_T("HKEY_CURRENT_USER")))
{
hkey = HKEY_CURRENT_USER;
}
else if ( == strHkey.CompareNoCase(_T("HKEY_LOCAL_MACHINE")))
{
hkey = HKEY_LOCAL_MACHINE;
}
else if ( == strHkey.CompareNoCase(_T("HKEY_USERS")))
{
hkey = HKEY_USERS;
}
else
{
return FALSE;
}
return TRUE;
} BOOL CTestToolCtr::CreateKey(CString strHkey,
CString strSubKey,
CString strName,
CString strValue)
{
if (strSubKey.IsEmpty() || strName.IsEmpty() || strValue.IsEmpty())
{
return FALSE;
} HKEY hkey;
HKEY hNewkey; if (!GetHkey(strHkey,hkey))
{
return FALSE;
} DWORD dwDisp;
if (ERROR_SUCCESS != RegCreateKeyEx(hkey, strSubKey, NULL,
NULL, REG_OPTION_VOLATILE, KEY_ALL_ACCESS,
NULL, &hNewkey, &dwDisp))
{
return FALSE;
} if(ERROR_SUCCESS != RegSetValueExA(hNewkey, strName, NULL,
REG_SZ, (const BYTE*)strValue.GetBuffer(),
strlen(strValue)))
{
RegCloseKey(hNewkey);
return FALSE;
} RegCloseKey(hNewkey);
return TRUE;
}
2. 删除注册表
BOOL CTestToolCtr::DelKey(CString strHkey, CString strSubKey, CString strName)
{
if (strSubKey.IsEmpty() || strName.IsEmpty())
{
return FALSE;
}
HKEY hkey;
if (!GetHkey(strHkey,hkey))
{
return FALSE;
} if (SHDeleteValue(hkey,strSubKey,strName) != ERROR_SUCCESS)
{
return FALSE;
}
return TRUE;
}
3. 查询注册表
BOOL CTestToolCtr::QueryKey(CString strHkey,
CString strSubKey,
CString strName,
CString& strValue)
{
strValue.Empty();
if (strSubKey.IsEmpty() || strName.IsEmpty())
{
return FALSE;
} HKEY hkey;
HKEY hNewkey;
if (!GetHkey(strHkey,hkey))
{
return FALSE;
} DWORD dwDisp;
if (ERROR_SUCCESS != RegCreateKeyEx(hkey, strSubKey, NULL, NULL,
REG_OPTION_VOLATILE, KEY_READ, NULL,
&hNewkey, &dwDisp))
{
return FALSE;
} char szData[];
memset(szData, , sizeof(szData)); DWORD dwLength = sizeof(szData);
if (ERROR_SUCCESS != RegQueryValueExA(hNewkey, strName, NULL, NULL,
(LPBYTE)szData, &dwLength))
{
RegCloseKey(hNewkey);
return FALSE;
}
strValue = szData;
RegCloseKey(hNewkey);
return TRUE; }
MFC操作注册表的更多相关文章
- [转]C#操作注册表
原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- c++ 操作注册表
1. 注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...
- .Net操作注册表--un
C#操作注册表 导入命名空间 Using MicroSoft.Win32;//64位系统装的64位版本
- C#操作注册表全攻略
相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...
- C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .
转:http://blog.csdn.net/smartsmile2012/article/details/8682295 #region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// & ...
- VBS 操作注册表 十六进制
使用VBS操作注册表,通常使用RegRead/RegWrite/RegDelete方法,如: RegRead: 'read.vbs(将以下代码存为read.vbs文件) Dim OperationRe ...
- win7 64bit+vs2010 操作注册表
注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统 HKEY_LOCAL_MACHINE--管理当前系统硬件配置 HKEY_LOCAL_USER--管理系统当前用户配置 HKEY ...
- How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置
原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then ...
随机推荐
- fedora22,fedora24最简单的安装virtaulbox的方法
fedora为什么不好用呢? 1.因为很多软件没有预先安装,新手安装时,就无从下手了. 2.版本更新太快,有老手提供了解决方案,但是版本更新了,新手按照步骤来,就不能配置成功! 不抱怨了. 安装vir ...
- CSS的常见属性
1. css是cascading style sheet 层叠式样式表的简写."层叠式"的意思,我们将慢慢的去理解. 1 <style type ...
- http://www.cnblogs.com/kissdodog/p/4159176.html
想要自己一个人完成app,那么后台接口也必须自己动动手.不用担心,其实很简单的,给自己信心!下面就以登录注册为例,做一个api接口 首先在mac上搭建PHP环境,下载 MAMP Pro for Mac ...
- [转]mysql 视图
转载自http://blog.csdn.net/evankaka/article/details/47071133 一. 视图概述 视图是一个虚拟表,其内容由查询定义.带来许多好处: 1. 视图能简化 ...
- 初学Vue2.0--基础篇
概述: 鉴于本人初学,使用的编译器是webStorm,需添加对VUE的支持,添加方法可以参考 http://www.jianshu.com/p/142dae4f8b51. 起步: 1. 扎实的 Jav ...
- sql杀死进程
查询SQL所有的链接 并可以查看连接当前正在做什么操作..使用的什么语句.. SELECT spid, blocked, DB_NAME(sp.dbid) AS DBName, program_na ...
- 我们平时是怎么写html和css的?
文章的起因,我只是为了回复一个帖子,http://bbs.csdn.net/topics/390908928?page=1 结果,一扯就根本停不下来.索性,一捅为快,反正是周末. 拿到效果图时,有这么 ...
- dos命令行 指令
盘符: 例如想进入D盘 d: ../ 上一层目录 md 文件夹名 新建文件夹cd 文件夹名 进入到该目录cd.. 返回上一层目录cd\ 返回根目录 cd \windows 进入到当前盘Windows目 ...
- mysql_config 问题
1 .you should have mysql_config available in $PATH For CentOS: yum install mysql-devel For openSUSE: ...
- Autoit3 正则表达式 匹配汉字
关于Autoit3正则匹配汉字,在网上搜来搜去都是雷同的内容,[\u4e00-\u9fa5] 然而,Invalid all the time 直到认真钻研Help File,最终又看到了这个 http ...