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 ...
随机推荐
- Bzoj1305 [CQOI2009]dance跳舞
Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 2925 Solved: 1221 Description 一次舞会有n个男孩和n个女孩.每首曲子开始时 ...
- JSF primefaces dataTable paginator 表格分页 问题
当第一次查询返回list列表,分页1,2,3.....这是选择2,当前页面停留在第2页. 当再次查询后,因为使用的ajax,结果更新了,但当前页面依旧是第2页. 可以在jsf页面,datatable的 ...
- 一个用纯CSS实现的下拉菜单
用CSS做下拉列表的特效,代码如下: <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> & ...
- Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引
因为内容比较多,所以每篇讲解一些内容,最后会放出全部代码,可以参考.操作中总会遇到各式各样的问题,个人对部分问题的研究在最后一篇 问题研究 里.欢迎大家探讨学习. 代码都经过个人测试,但仍可能有各种未 ...
- thinkphp缓存
最简答的缓存 // 缓存设置 public function ff(){ S('); } // 缓存读取 public function aa(){ $value = S('name'); echo ...
- Bubble Cup 8 finals F. Bulbo (575F)
题意: 给定初始位置,查询n次区间,每次查询前可以花费移动距离的代价来移动, 查询时需要花费当前位置到区间内最近的点的距离,求最小代价. 1<=n<=5000,1<=所有位置< ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- Toad各版本所包含的组件
Toad for Oracle Base Edition Toad for Oracle Knowledge Xpert for PL/SQL Knowledge Xpert for Oracle A ...
- Spring Boot with Spring Data JPA (1) - Concept
What's Spring Data JPA? According to Pivotal, Spring Data JPA, part of the larger Spring Data family ...
- ES6学习笔记二
字符串遍历 var str = 'hello'; for(let s of str){console.log(s += ' ')} //h e l l o 字符串查找:添加了include(str,i ...