(转自:http://blog.sina.com.cn/s/blog_4e66c6cd01000bcu.html)

 键管理类:
 

RegCloseKey():关闭注册表键释放句柄。
    RegCloseKey(ByVal hKey As Long)
    参数:hKey--根键(或子键)句柄
    返回值:=0 成功     ≠0 失败

RegCreateKey():打开指定的注册表键,如果该键不存在则试图建立。
    RegCreateKey(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long)
    参数:hKey--根键句柄    lpSubKey--子键的名称或路径    
         phkResult--若执行成功则该参数返回子键的句柄
    返回值:=0 成功     ≠0 失败

RegCreateKeyEx():同RegCreateKey()。

RegCreateKeyEx(ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long)

RegDeleteKey():删除注册表键,但不能删除根键。      
    RegDeleteKey(ByVal hKey As Long, ByVal lpSubKey As String)
    参数:hKey--键句柄     lpSubKey--子键名称或路径,如为""则删除hKey键
    返回值:=0 成功     ≠0 失败

RegDeleteKeyEx():同RegDeleteKeyEx()

RegOpenKey():获得注册表根键下子键的句柄。
    RegOpenKey(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long)
    参数:hKey--根键句柄    lpSubKey--子键的名称或路径
         phkResult--若执行成功则该参数返回子键的句柄
    返回值:=0 成功     ≠0 失败

RegOpenKeyEx():同RegOpenKey()

RegOpenKeyEx(ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long)

值管理类:

LONG RegQueryValueEx(
        HKEY hKey,      // 已打开的键的句柄
        LPTSTR lpValueName, // 要查询值的名称,传如""为查询键下的默认值
        LPDWORD lpReserved, // 保留,为0
        LPDWORD lpType,   // 查询的类型
        LPBYTE lpData,    // 数据存放的地址
        LPDWORD lpcbData   // 数据长度+1
      );

RegQueryValue() 与以上类似

  
LONG RegSetValueEx(
        HKEY hKey,      // 已打开的键的句柄
        LPCTSTR lpValueName, // 要查询值的名称,传如""为查询键下的默认值
        DWORD Reserved,   // 保留
        DWORD dwType,    // 变量的类型
        CONST BYTE *lpData, // 变量数据的地址
        DWORD cbData     // 变量的长度
      );


 

RegSetValue() 与以上类似


LONG RegDeleteValue(
        HKEY hKey,      // 要删除的键的句柄
        LPCTSTR lpValueName  // 要删除的名称
      );

LONG RegEnumValue(
        HKEY hKey,       // 要查询的已打开的键的句柄
        DWORD dwIndex,     // 读取名称的索引号
        LPTSTR lpValueName,   // 返回所读取的名称
        LPDWORD lpcbValueName, // 返回读取名称的长度,不含chr(0)
        LPDWORD lpReserved,   // 保留,为0
        LPDWORD lpType,     // 返回所读取的数据类型
        LPBYTE lpData,     // 返回所读取的数据`
        LPDWORD lpcbData    // 返回所读取的数据长度
     );
 
RegEnumKeyEx(
        HKEY hKey,     // 要列举的键的句柄
        DWORD dwIndex,   // 索引
        LPTSTR lpName,   // 子键的名称
        LPDWORD lpcbName,  // 子键名称的长度
        LPDWORD lpReserved, // 保留
        LPTSTR lpClass,   // address of buffer for class string
        LPDWORD lpcbClass, // address for size of class buffer
        PFILETIME lpftLastWriteTime  // address for time key last 
written to
      );

RegEnumKey()与上类似
 
LONG RegQueryInfoKey(
        HKEY hKey,        // 已打开的键的句柄
        LPTSTR lpClass,      // 类型名称,仅使用于NT。若不使用则传入Null
        LPDWORD lpcbClass,    // 类型名称的长度
        LPDWORD lpReserved,    // 保留
        LPDWORD lpcSubKeys,    // 返回子键的数目              
        LPDWORD lpcbMaxSubKeyLen, // 返回最长的子键长度              
        LPDWORD lpcbMaxClassLen, // 返回最长的类长度 
        LPDWORD lpcValues,    // 返回值的数目              
        LPDWORD lpcbMaxValueNameLen, // 返回最长的值项名称的长度
        LPDWORD lpcbMaxValueLen, // 返回最长的值的长度
        LPDWORD lpcbSecurityDescriptor, //返回安全描述,仅适用于 NT
        PFILETIME lpftLastWriteTime  // 返回键最后被写入的时间,仅适用于 NT
     );
 
 其他:
 
LONG RegLoadKey(
        HKEY hKey,    // 打开的句柄
        LPCTSTR lpSubKey, //子键的路径          
        LPCTSTR lpFile  // 要写入注册表信息的文件
      );
 
LONG RegReplaceKey(
        HKEY hKey,     // handle to open key
        LPCTSTR lpSubKey, // address of name of subkey
        LPCTSTR lpNewFile, // 在替换前生成新的备份文件
        LPCTSTR lpOldFile // 需要覆盖上注册表的文件
      );
 
LONG RegSaveKey(
     HKEY hKey,    // 要保存的句柄
     LPCTSTR lpFile, // 保存子键的文件
     LPSECURITY_ATTRIBUTES lpSecurityAttributes    //不太懂(大概是与安全有关的属性设置)      
    );
 

LONG RegConnectRegistry(
        LPTSTR lpMachineName, //远程计算机的名称
        HKEY hKey,    // 预先注册的句柄
        PHKEY phkResult  // 远程计算机上的句柄
     );

LONG RegUnLoadKey(
     HKEY hKey,     // handle to open key
     LPCTSTR lpSubKey  // address of name of subkey to unload
    );

LONG RegNotifyChangeKeyValue(
      HKEY hKey, // 要监视的一个项的句柄
      BOOL bWatchSubtree, // 是否监视此项的子键
      DWORD dwNotifyFilter, // 监视哪些变化
      HANDLE hEvent, // 接受注册表变化事件的事件对象句柄
      BOOL fAsynchronous    // 注册表变化前报告还是注册表变化后才报告  
     );

LONG RegRestoreKey(
  HKEY hKey,      // handle to key where restore   begins
  LPCTSTR lpFile, // registry file
  DWORD dwFlags   // options
);

LONG RegSetKeySecurity( HKEY hKey,                              // handle to key
  SECURITY_INFORMATION SecurityInformation // request
  PSECURITY_DESCRIPTOR pSecurityDescriptor // SD
);

LONG RegGetKeySecurity(
  HKEY hKey,                                // handle to key
  SECURITY_INFORMATION SecurityInformation, // request
  PSECURITY_DESCRIPTOR pSecurityDescriptor, // SD
  LPDWORD lpcbSecurityDescriptor           // buffer size
);

注册表操作的几个windows api的更多相关文章

  1. Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理

    Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理 1. reg 工具 这个cli工具接口有,优先使用,jreg的要调用dll了,麻烦的 ...

  2. 《天书夜读:从汇编语言到windows内核编程》八 文件操作与注册表操作

    1)Windows运用程序的文件与注册表操作进入R0层之后,都有对应的内核函数实现.在windows内核中,无论打开的是文件.注册表或者设备,都需要使用InitializeObjectAttribut ...

  3. delphi 注册表操作(读取、添加、删除、修改)完全手册

    DELPHI VS PASCAL(87)  32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...

  4. Delphi的注册表操作

    转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息.     一.创 ...

  5. QSettings配置读写-win注册表操作-ini文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写     本文地址:http:// ...

  6. CRegKey 注册表操作

    CRegKey 注册表操作 标签: accessnulluserpathbyteie 2011-11-03 13:55 3477人阅读 评论(0) 收藏 举报  分类: win32(7)  1.简介 ...

  7. C#注册表操作类--完整优化版

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace ...

  8. C#注册表操作类(完整版) 整理完整

    /// <summary> /// 注册表基项静态域 /// /// 主要包括: /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 /// ...

  9. 注册表操作 Microsoft.Win32.Registry与RegistryKey类

    一.注册表操作简介 Registry 类,RegistryKey 类提供了操作注册表的接口 RegistryValueKind:用于指定操作注册表的数据类型 一.注册表巢 在注册表中,最上面的节点是注 ...

随机推荐

  1. 008-查看JVM参数及值的命令行工具

    1. HotSpot vm中的各个globals.hpp文件  查看jvm初始的默认值及参数 globals.hpp globals_extension.hpp c1_globals.hpp c1_g ...

  2. JVM虚拟机—JVM的垃圾回收机制(转载)

    1.前言 理解JVM的垃圾回收机制(简称GC)有什么好处呢?作为一名软件开发者,满足自己的好奇心将是一个很好的理由,不过更重要的是,理解GC工作机制可以帮助你写出更好的Java程序. 在学习GC前,你 ...

  3. Python和数据科学的起步指南

    http://python.jobbole.com/80853/ Python拥有着极其丰富且稳定的数据科学工具环境.遗憾的是,对不了解的人来说这个环境犹如丛林一般(cue snake joke).在 ...

  4. Ubuntu 16.04 安装 JDK 及 Eclipse 详细步骤(转发:https://blog.csdn.net/bluish_white/article/details/56509446)

    2017.3.1更新 修正了一些命令,现在按照文章步骤配置不会出现问题了. JDK 安装及配置 参考来源:http://www.linuxidc.com/Linux/2017-02/140908.ht ...

  5. HDFS各个进程存储在磁盘上的数据含义和注意事项

    本文地址:http://www.cnblogs.com/qiaoyihang/p/6293402.html (一)Namenode的目录结构 HDFS进行初次格式化之后将会在$dfs.namenode ...

  6. django(python manage.py migrate)同步数据库出错后的解决办法

    执行python manage.py migrate同步数据库前一次执行 python manage.py makemigrations 时生成的文件及之后所有的文件删除即可,然后修改models.p ...

  7. java反射基础知识(一)

    一.反射 反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为 ...

  8. day4-迭代器、生成器yield

    一.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优 ...

  9. table实现 js数据访问 传递json数据用render_to_response

    $(document).ready(function(){ $.ajax({ url:'/query/', dataType:'json', type:'GET', success:function( ...

  10. CNN学习笔记:正则化缓解过拟合

    CNN学习笔记:正则化缓解过拟合 过拟合现象 在下图中,虽然绿线完美的匹配训练数据,但太过依赖,并且与黑线相比,对于新的测试数据上会具有更高的错误率.虽然这个模型在训练数据集上的正确率很高,但这个模型 ...