注册表操作的几个windows api
(转自: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 // 需要覆盖上注册表的文件
);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的更多相关文章
- Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理
Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理 1. reg 工具 这个cli工具接口有,优先使用,jreg的要调用dll了,麻烦的 ...
- 《天书夜读:从汇编语言到windows内核编程》八 文件操作与注册表操作
1)Windows运用程序的文件与注册表操作进入R0层之后,都有对应的内核函数实现.在windows内核中,无论打开的是文件.注册表或者设备,都需要使用InitializeObjectAttribut ...
- delphi 注册表操作(读取、添加、删除、修改)完全手册
DELPHI VS PASCAL(87) 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...
- Delphi的注册表操作
转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创 ...
- QSettings配置读写-win注册表操作-ini文件读写
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写 本文地址:http:// ...
- CRegKey 注册表操作
CRegKey 注册表操作 标签: accessnulluserpathbyteie 2011-11-03 13:55 3477人阅读 评论(0) 收藏 举报 分类: win32(7) 1.简介 ...
- C#注册表操作类--完整优化版
using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace ...
- C#注册表操作类(完整版) 整理完整
/// <summary> /// 注册表基项静态域 /// /// 主要包括: /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 /// ...
- 注册表操作 Microsoft.Win32.Registry与RegistryKey类
一.注册表操作简介 Registry 类,RegistryKey 类提供了操作注册表的接口 RegistryValueKind:用于指定操作注册表的数据类型 一.注册表巢 在注册表中,最上面的节点是注 ...
随机推荐
- Django生成CSV文件
1.生成CSV文件 有时候我们做的网站,需要将一些数据,生成有一个CSV文件给浏览器,并且是作为附件的形式下载下来.以下将讲解如何生成CSV文件. 2.生成小的CSV文件 这里将用一个生成小的CSV文 ...
- 【我的Android进阶之旅】如何在浏览器上使用Octotree插件树形地展示Github项目代码?
前言 最近有个同事看到我打开Github项目时,浏览器上的展示效果是树形的,于是他问我这个是什么浏览器插件,我告诉他是Octotree插件.现在我就来介绍介绍这款Octotree插件. 效果对比 1. ...
- always on 之路实践(未完)
概念及参考:http://www.mssqlmct.cn/dba/?post=97 准备:利用vmvare workstation12 克隆了4台windows server 2008 datacen ...
- 修改 item2 用户名
首先在命令行输入 cd .oh-my-zsh/themes 如下图: 然后命令行输入 sudo vi agnoster.zsh-theme 如下图: 最后在编辑主题文件 在 prompt_segmen ...
- Ubuntu学习笔记1-基本部分
Vim相当于vi的升级版 Find p*.txt支持查找通配符 Echo 回显命令 echo hello >1.txt 追加命令,不覆盖 echo hello >1.txt 覆盖命 ...
- C/C++中的行读取
在C语言里面一直很容易混淆的,gets和fgetS的区别: char * fgets ( char * str, int num, FILE * stream ); Reads characters ...
- __BEGIN_DECLS __END_DECLS
http://hi.baidu.com/xiaoxiaolq/blog/item/1edc2af30dd4915a342acc5e.html对__BEGIN_DECLS 和 __END_DECLS 的 ...
- CSS 之怀疑自己的审美 1 (Day49)
CSS概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 一.css的四种引入方式 1.行内式 行内式是在标 ...
- Delphi 正则表达式语法(10): 选项
Delphi 正则表达式语法(10): 选项 // preCaseLess: 不区分大小写, 相当于其他语言中的 i var reg: TPerlRegEx; begin reg := TPe ...
- Servlet Rest
http://www.blogjava.net/yongboy/archive/2010/10/01/333609.html