zoukankan      html  css  js  c++  java
  • Windows 注册表操作

    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;

  • 相关阅读:
    打击目标
    面试中的坑,你能爬出来几个?
    [linux] 小问题:管道符,换行问题等;[nginx]启动,重启,关闭命令;以及升级nginx切换命令
    xshell下使用vim的编辑一个文件Ctrl+S和Ctrl+Q
    [PHP] 调用微博API 发微博OAuth2.0
    [YII2] 视图层过滤客户恶意代码
    [YII2] 增删改查2
    [YII2] 增删改查
    [YII2] 自带分页调整
    [JS] 自己弄得个倒计时
  • 原文地址:https://www.cnblogs.com/icmzn/p/7157141.html
Copyright © 2011-2022 走看看