您的位置:首页 > 其它

Windows 注册表操作

2017-07-12 18:59 204 查看
0 前言

由于电脑经常会关闭,或者应用程序也会经常关闭,但有一些参数是经常需要保存。比如当你打开程序,并设置了窗口的大小,想每次打开时都设置窗口为上次打开的大小。这样就需要保存窗口的大小,那么窗口大小的参数保存到那里呢?其实在Windows里最方便的做法,就是保存到注册表里。又比如游戏登录时,总是想保存最后一个登录的用户,那么也需要保存这个用户到注册表里。其实注册表是Windows保存系统配置的数据库,比如不同的语言设置,不同的时区设置,不同的用户登录,不同的权限等等。下面就来学习怎么样使用函数RegOpenKeyEx来打开注册表里的键和用函数RegCreateKeyEx来创建新的键。

在程序中使用注册表,不外乎创建、打开、读取、设置、删除这五个常规操作,

数据结构

  注册表由“键或称为项”、子健(子项)和值项构成。一个键就是分支中的一个文件夹。子健也被称为“键”。其中最顶层的键称为“主键”。一个值项是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为改建的默认值。



注册表的数据类型主要有以下四种:





各主键的简单介绍



一、 创建键RegCreateKeyEx

通过RegCreateKeyEx函数可以在注册表中创建键,如果需要创建的键已经存在了,则打开键。函数原型

LONG RegCreateKeyEx(
  HKEY hKey,
  LPCTSTR lpSubKey,
  DWORD Reserved,
  LPTSTR lpClass,
  DWORD dwOptions,
  REGSAM samDesired,
  LPSECURITY_ATTRIBUTESlpSecurityAttributes,
  PHKEY phkResult,
  LPDWORD lpdwDisposition
  );




二、 打开键RegOpenKeyEx

 RegOpenKeyEx函数可以打开一个指定的键,函数原型如下:
  LONG RegOpenKeyEx(
  HKEY hkey,
  LPCTSTR lpSubKey,
  DWORD ulOption,
  REGSAM samDesired,
  PHKEY phkResult
  );




三、 删除键RegDeleteKey

 函数RegDeketeKey删除一个键及所有的子键。函数原型如下:
  LONG RegDeleteKey(
  HKEY hKey,
  LPCTSTR lpSubKEY
  );






四、 修改/添加键RegSetValueEx

  RegSetValueEx函数可以设置(添加、修改)注册表中键的值,函数原型如下:
  LONG RegSetValueEx(
  HKEY hKey,
  LPCTSTR lpValueName,
  DWORD Reserved,
  DWORD dwType,
  CONST BYTE *lpData,
  DWORD cbData
  );




五、 读取键值RegQueryValueEx

  通过RegQueryValueEx函数可以从一个已经打开的键中读取数据,函数原型如下:
  LONG RegQueryValueEx(
  HKEY hKey,
  LPTSTR lpValueName,
  LPDWORD lpReserved,
  LPDWORD lpType,
  LPBYTE lpData,
  LPDWORD lpcbData
  );




六、注册表的操作流程



endl;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: