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 ...
随机推荐
- mui 下拉刷新
mui 下拉刷新 此文提供的是mui这种下拉刷新.悬浮于页面上,比较好用. <!DOCTYPE html> <html> <head> <meta chars ...
- Hybrid APP混合开发的一些经验和总结
http://www.cnblogs.com/kingplus/p/5588339.html 写在前面: 由于业务需要,接触到一个Hybrid APP混合开发的项目.当时是第一次接触混合开发,有一些经 ...
- ORA-01438: 值大于为此列指定的允许精度
Number的数据声明如下:表示 作用 说明Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点 ...
- js计时器,点击开始计时,再点击停止
点击倒计时开始,点击停止,再次点击又开始,再点停止... <i id=</i>秒 <em onclick="timeOpen();">开始</e ...
- JSP的9大内置对象
1.概述 JSP的这9个内置对象,都是servlet API实例,即在JSP页面内部,可以直接使用; ps:顺便说下JSP的4大范围: JSP的四种范围,分别为page.request.session ...
- php php-5.6.4.tar.bz2 apache 兼容问题 child pid 27858 exit signal Segmentation fault
环境 [root envirotar]# uname -a Linux i2..el6.x86_64 # SMP Thu Jul :: UTC x86_64 x86_64 x86_64 GNU/Lin ...
- linux 下C++查询mysql数据库
上一节我们看了怎么使用mysql提供的API来连接mysql数据库,现在来看看怎么执行一条简单的查询语句,并且把查询的结果显示出来. 准备工作:首先新建了一个数据库inote,在这个数据库下面新建了一 ...
- 【Unity3d】火炬之光的X射线效果
http://www.cnblogs.com/dosomething/archive/2012/04/03/2431149.html 人物和摄像机之间存在例如墙壁等的阻挡时 可以修改阻挡材质的alp ...
- Javascript模块化编程(三):require.js的用法
Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...
- Linux下查看磁盘与目录的容量——df、du
df:列出文件系统的整体磁盘使用量: du:评估文件系统的磁盘使用量(常用于评估目录所占容量) df参数: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以KB的容量显示各文件系 ...