zoukankan      html  css  js  c++  java
  • 注册表API

    1、创建键

      RegCreateKeyEx函数将创建指定的注册表项,如果这个表项已经存在,则打开该表项;

      LONG RegCreateKey(

        HKEY hKey,       

        LPCTSTR lpSubKey,

        PHKEY phkResult  

      );

        hKey:指向当前打开表项的句柄,或是下列预定义的保留句柄值之一:

          HKEY_CLASSES_ROOT

          HKEY_CURRENT_CONFIG

          HKEY_CURRENT_USER

          HKEY_LOCAL_MACHINE

          HKEY_USERS

          Windows NT: HKEY_PERFORMANCE_DATA

          Windows 95 and Windows 98: HKEY_DYN_DATA

        lpSubKey:指向将打开或创建的表项的名称的指针,该表项必须是由hKey参数所标识的项的子项;

        phkResult:指向一个变量的指针,用来接收打开或创建的表项的句柄;当不再需要此返回的注册表项句柄时,调用RegCloseKey函数关闭这个句柄;

    2、打开键

      RegOpenKey函数将打开指定的注册表项;

      LONG RegOpenKey(

        HKEY hKey,       

        LPCTSTR lpSubKey,

        PHKEY phkResult  

      );

        各参数同RegCreateKey的参数相同

    3、写入注册表

      在注册表中,值包含三个部分:值名称、值类型、值本身;

      RegSetValueEx函数可设置注册表项下指定值的数据和类型;

      LONG RegSetValueEx(

        HKEY hKey,         

        LPCTSTR lpValueName,

        DWORD Reserved,    

        DWORD dwType,       

        CONST BYTE *lpData, 

        DWORD cbData        

      );

        hKey:同RegCreateKey的参数hKey相同;

        lpValueName:指向一个字符串的指针,该字符串包含了要设置值的值名称;如果有该名称的值不存在于指定的注册表项中,则将其加入到该表项中;如果该参数为NULL或指向空字符串,则为该表项的默认值或未命名值设置类型和数据;

        Reserved:保留参数,必须为0;

        dwType:指定将被存储的值的数据类型,包括:

          REG_BINARY  --任何形式的二进制数据

          REG_DWORD  --一个32位的数字

          REG_DWORD_LITTLE_ENDIAN  --一个“低字节在前”格式的32位数字

          REG_DWORD_BIG_ENDIAN  --一个“高字节在前”格式的32位数字

          REG_EXPAND_SZ  --一个以0结尾的字符串,该字符串包含对环境变量(”%PATH“)的未扩展引用

          REG_LINK  --一个Unicode格式的带符号链接

          REG_MULTI_SZ  --一个以0结尾的字符串数组,该数组以连接两个0为终止符

          REG_NONE  --未定义值类型

          REG_RESOURCE_LIST  --一个设备驱动器资源列表

          REG_SZ  --一个以0结尾的字符串

        lpData:指向一个缓冲区,该缓冲区包含了要为了指定值名称存储的数据;

        cbData:指定lpData参数所指向的数据的大小,单位为字节;

    4、从注册表中读数据

      RegQueryValueEx函数将读取注册表项下指定值的数据和类型;

      LONG RegQueryValueEx(

        HKEY hKey,         

        LPTSTR lpValueName,

        LPDWORD lpReserved,  

        LPDWORD lpType,     

        LPBYTE lpData,     

        LPDWORD lpcbData    

      );

        hKey:同RegCreateKey的参数hKey相同;

        lpValueName:指向一个以0结尾的字符串的指针,该字符串包含要查询的值的名称;如果此参数为NULL或指向一个空字符串,则函数将获得该注册表项的未命名值或默认值的类型及数据;

        lpReserved:保留参数,必须为NULL;

        lpType:指向一个变量的指针,该变量用于接收保存在指定值中的数据的类型代码,包括:

          REG_BINARY  --任何形式的二进制数据

          REG_DWORD  --一个32位的数字

          REG_DWORD_LITTLE_ENDIAN  --一个“低字节在前”格式的32位数字

          REG_DWORD_BIG_ENDIAN  --一个“高字节在前”格式的32位数字

          REG_EXPAND_SZ  --一个以0结尾的字符串,该字符串包含对环境变量(”%PATH“)的未扩展引用

          REG_LINK  --一个Unicode格式的带符号链接

          REG_MULTI_SZ  --一个以0结尾的字符串数组,该数组以连接两个0为终止符

          REG_NONE  --未定义值类型

          REG_RESOURCE_LIST  --一个设备驱动器资源列表

          REG_SZ  --一个以0结尾的字符串

        lpData:指向一个缓冲区,该缓冲区接收该值的数据;

        lpcbData:指向一个变量指针,该变量指示了参数lpData所指向的缓冲区的数据大小,单位为字节;当函数RegQueryValueEx返回时,此函数指向的变量则包含了实际复制到缓冲区的字节数;

  • 相关阅读:
    文本设置超过几行显示...
    CSS内置的几个标准的伪类和伪对象
    正则替换URL地址为链接地址
    移动端某些机型touchend事件触发鸡肋
    zepto 扩展prevAll(),nextAll()方法
    火狐下window.event获取undefined问题
    哪些情况下margin-left和padding-left无效?
    兵部-2048
    HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。HTML 的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
    二分查找
  • 原文地址:https://www.cnblogs.com/zhouwanqiu/p/6921446.html
Copyright © 2011-2022 走看看