Windows 注册表操作
2017-07-12 18:59
204 查看
0 前言
由于电脑经常会关闭,或者应用程序也会经常关闭,但有一些参数是经常需要保存。比如当你打开程序,并设置了窗口的大小,想每次打开时都设置窗口为上次打开的大小。这样就需要保存窗口的大小,那么窗口大小的参数保存到那里呢?其实在Windows里最方便的做法,就是保存到注册表里。又比如游戏登录时,总是想保存最后一个登录的用户,那么也需要保存这个用户到注册表里。其实注册表是Windows保存系统配置的数据库,比如不同的语言设置,不同的时区设置,不同的用户登录,不同的权限等等。下面就来学习怎么样使用函数RegOpenKeyEx来打开注册表里的键和用函数RegCreateKeyEx来创建新的键。
在程序中使用注册表,不外乎创建、打开、读取、设置、删除这五个常规操作,
数据结构
注册表由“键或称为项”、子健(子项)和值项构成。一个键就是分支中的一个文件夹。子健也被称为“键”。其中最顶层的键称为“主键”。一个值项是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为改建的默认值。
注册表的数据类型主要有以下四种:
各主键的简单介绍
一、 创建键RegCreateKeyEx
通过RegCreateKeyEx函数可以在注册表中创建键,如果需要创建的键已经存在了,则打开键。函数原型
二、 打开键RegOpenKeyEx
三、 删除键RegDeleteKey
四、 修改/添加键RegSetValueEx
五、 读取键值RegQueryValueEx
六、注册表的操作流程
endl;
由于电脑经常会关闭,或者应用程序也会经常关闭,但有一些参数是经常需要保存。比如当你打开程序,并设置了窗口的大小,想每次打开时都设置窗口为上次打开的大小。这样就需要保存窗口的大小,那么窗口大小的参数保存到那里呢?其实在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;
相关文章推荐
- 使用Java操作Windows注册表
- 用Java操作Windows注册表
- windows中对环境变量操作实质上是对注册表的操作
- Windows内核函数(3) - 内核模式下的注册表操作
- java如何操作注册表(Preferences类)(在windows的注册表中保存、读取)
- 使用Java操作Windows注册表
- Windows操作注册表API简单例子
- windows 注册表操作
- Windows注册表操作基础代码
- windows中对环境变量操作实质上是对注册表的操作
- net 操作Windows注册表
- 22、Windows内核函数(3)-Windows驱动开发详解笔记,注册表操作
- Windows 注册表操作简介
- 基于Visual C++之Windows核心编程代码分析(5)操作注册表与系统时间
- import _winreg:用python操作修改windows注册表
- 用Java操作Windows注册表
- JAVA操作windows注册表
- Java操作Windows注册表
- Qt编程4:QSettings使用一(windows注册表的读写:实际操作)
- Windows 注册表操作