栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C/C++新建注册表项的代码示例

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C/C++新建注册表项的代码示例

使用Windows API 函数中的RegCreateKeyEx函数来实现对注册表新建注册表项。

RegCreateKeyEx函数:

原形:LONG RegCreateKeyEx( 
   HKEY hKey,  // 主键名称 
   LPCTSTR lpSubKey,  // 子键名称或路径 
   DWORD Reserved,  // 保留,为0 
   LPTSTR lpClass,  // 一般设置为NULL
   DWORD dwOptions,  
      
   REGSAM samDesired, // 设置你对你建立的这个键的访问权限
   LPSECURITY_ATTRIBUTES lpSecurityAttributes, 
     //一般设置为NULL
   PHKEY phkResult,  // 返回新建注册表项的句柄 
   LPDWORD lpdwDisposition //用来查看是打开一个已经有的键,还是新建了键 
  
); 

返回值:不成功返回非0,成功返回ERROR_SUCCESS.  

解释:打开指定的键或子键。如果要打开的键不存在的话,本函数会试图建立它。当在创建或打开注册表的键时,需要指定访问权限,而这些访问权限需要到一级。默认的权限是KEY_ALL_ACCESS权限。还有KEY_CREATE_link创建字符链权限,KEY_CREATE_SUB_KEY创建子键权限,KEY_EXECUTE读取键权限,KEY_NOTIFY获得修改键通知的权限,KEY_QUERY_VALUE查询键值的权限,KEY_SET_VALUE设置数据值的权限。注意不能在根一级建键,在注册表的根一级仅可有预定义的键。具体使用,请查看联机手册。

查看微软官方文档:http://msdn.microsoft.com/zh-cn/aa911940

代码示例:

# include 
# include 
int main(void)
{
 HKEY hKey = NULL;
 TCHAR * subKey = _T("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\2345PCSafe\test");
 DWORD dwOptions = REG_OPTION_NON_VOLATILE;
 DWORD dwDisposition;
 long resulte = RegCreateKeyEx(HKEY_LOCAL_MACHINE, subKey, 0, NULL,
 dwOptions, KEY_WRITE, NULL, &hKey, &dwDisposition);
 if (resulte != ERROR_SUCCESS)
 {
 MessageBox(NULL, _T("打开注册表失败"), _T("提示"), MB_OK);
 }
 else
 {
 if (dwDisposition == REG_OPENED_EXISTING_KEY)
 {
 MessageBox(NULL, _T("打开一个存在的注册表项"), _T("提示"), MB_OK);
 }
 else if (dwDisposition == REG_CREATED_NEW_KEY)
 {
 MessageBox(NULL, _T("新建一个注册表项"), _T("提示"), MB_OK);
 }
 }
 return 0;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对考高分网的支持。如果你想了解更多相关内容请查看下面相关链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/62658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号