《解读window核心编程》 之 注冊表
1 注冊表的作用及组织形式
Windows系统使用注冊表来存储系统和应用程序配置数据。非常多系统和应用程序重要的配置的信息都存储在注冊表中。
注冊表是一种以树型结构组织的数据库。树的每个节点称
作键(key),每一个节点能够包括若干子键,键能够存储数据,存储的数据称作键值。一个键不管其是否有子键,都能够有键值。一个键能够有非常多个键值,每一个键值都有一个名字。包括若干数据。所包括的数据类型能够有非常多种,表10.1列出了注冊表数据类型。
系统自带的注冊表编辑器(regedit.exe)能够列举、查看、改动、添加、删除键和子键、键值。
2.键、子键、键属性及键值的相关操作
在对注冊表键进行操作前,须要使用API函数RegOpenKey、RegOpenKeyEx打开键。
在打开键后。假设须要创建新的键,使用API函数RegCreateKey、RegCreateKeyEx。
这两组函数都将返回键的句柄(HKEY类型)。在得到键的句柄后,能够对键进行操作。
创建子键使用前述RegCreateKey、Reg CreateKeyEx API函数;删除键使RegDeleteKey、RegDeleteKeyEx函数,RegQueryInfoKey API函数获取键多方面的信息,包含键值、子键等;获取和设置键值还能够使用RegGetValue、RegQueryValueEx、RegSetValueEx、RegQueryMultipleValues等函数;删除指定的键值使用RegDeleteValue函数;假设须要遍历子键和键值,能够使用API函数RegEnumKeyEx和RegEnumValue函数。
3 列举注冊表项及键值
遍历子键和键值能够使用API函数RegEnumKeyEx和RegEnumValue函数。RegQueryInfoKey。RegEnumKeyEx和RegEnumValue相配合能够完毕对一个键的全部子键及键值的列举。
4 通过注冊表设置一个自启动的程序
程序的自启动有非常多种方法。注冊表是当中最经常使用的一种,有多个键具有这样的功能。最经常使用的有:HKEY_LO CAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,仅仅需设置REG二SZ类型的键值,将值设置为程序的路径就可以使用程序在系统启动时自启动。
假设仅仅须要在下次系统启动时自启动一次,那么能够设置键HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce的键值。
5 设置随程序启动而启动的调试器(不论什么程序)
本节将介绍怎样在程序启动时载入调试器(读者也能够用于设置自启动程序)。“HKEY_LOCAL_MACHINE\SOFTWAREYMicrosoft,\Windows NT\CurrentVersion\Image File
Execution Options”下的子键能够用于指定启动调试器。
如须要调试os_info.exe,在“Image FileExecution Options”键下创建子键“os_info.exe”。然后创建键值,名为“Debugger”,类型为REG_SZ。数据为启动调试器的命令行。这里指向Windbg,如:“C:\Program Files\Debugging Tools forWindows\windbg.exe”(能够是不论什么可执行文件,比方notepad.exe。在载入键名称程序模块时,会首先启动“Debugger”键值指定的应用程序,并以键名指向的可执行程序为參数)。执行os_info.exe就会启动Windbg执行调试。
6.指定程序崩溃实时调试器
能够通过注冊表指定实时调试器,比方指定为WinDBG或OllyDBG等调试器。
指定实时调试器的方法为指定注冊表键“HKEY LOCAL MACHINE\SOFTWARE\Microsoft\ Windows
NT\CurrentVersion\AeDebug”的“Debugger”键值。
《解读window核心编程》 之 注冊表的更多相关文章
- 《解读window核心编程》 之 字符和字符串处理方式
推荐的字符和字符串处理方式 開始将文本字符串想象为字符的数组,而不是 char 或字节的数组. 用通用数据类型(如 TCHAR/PTSTR )来表示文本字符和字符串. 用明白的数据类型(如 BYTE ...
- 《解读window核心编程》 之 进程
1. 进程是执行文件的运行时形态.包括两部分:内核数据(对应内核对象).地址空间(包括执行文件代码和栈堆等动态内存). 2. 把VC的“系统-子系统”值删除掉,即不指定 ...
- c++ 操作注冊表
1. 注冊表简单介绍 注冊表是为Windows NT和Windows95中全部32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (W ...
- PLSQL Developer过期要注冊表
打开执行输入 regedit 打表注冊表 删除 HKEY_CURRENT_USER\Software\Allround Automations HKEY_CURRENT_USER\Software\M ...
- 64位Windows操作系统中的注冊表
x64系统上有x64.x86两种注冊表,记录下. 64 位Windows系统中的注冊表分为 32 位注冊表项和 64 位注冊表项.很多 32 位注冊表项与其对应的 64 位注冊表项同名. 在64位版本 ...
- YII用户注冊表单的实现熟悉前台各个表单元素操作方式
模还是必须定义两个基本方法.还有部分label标签映射为汉字,假设进行表单验证,还要定义一些验证规则: <? php /* * 用户模型 * */ class user extends CAct ...
- C# 系统应用之注冊表使用具体解释
在平时做项目时,我们有时会遇到注冊表的操作,比如前面我们须要获取IE浏览器地址栏的信息.获取"我的电脑"地址栏输入的目录信息.USB近期使用信息等.注冊表项是注冊表的基本组织单位, ...
- VC++ 读写注冊表,注冊文件图标关联
#include <string> #include <iostream> #include <Windows.h> #include <shlobj.h&g ...
- C#注冊表操作汇总
一.注冊表基本知识 1) 结构 键->项->子项->值项(名称.类型.数据) REG_SZ 字符串 REG_BINARY 二进制 REG_DWORD ...
随机推荐
- Linux基础之网络协议
互联网通信原理 从物理层面来说,每台计算机在一开始都是彼此孤立的,为了实现信息的交流与共享,计算机之间必须要建立通信网络.例如人与人之间的交流,他们必须要共用一套语言系统,才能交流成功.计算机之间也是 ...
- codeforces_724C_Ray Tracing
C. Ray Tracing time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- js 滚动条
<script type="text/javascript"> //文档高度1016 包含隐藏的margin和padding 实际1000 //文档1000 //窗口高 ...
- element ui 日期控件范围时间限制记录、以及计算两个日期之间的天数
日期的筛选经常会有最小的日期选择,例如:当前日期 :clearable="false" :picker-options="pickerOptions0" val ...
- c#中通过事件实现按下回车跳转控件
//接受用户输入参数后回车事件 private void tb_KeyPress(object sender, KeyPressEventArgs e) { ) { SendKeys.Send(&qu ...
- css的基础知识1
总结:css引用:1内联:在标签中加style属性,<标签名 style="样式1:样式值1:样式2:样式值2"> </标签名>.2.内嵌:在head标签中 ...
- 【原】Pchart生成图片
学习网址: http://wiki.pchart.net/doc.introduction.html http://pchart.sourceforge.net/index.php
- selenium之浏览器驱动
selenium需要配合浏览器的驱动使用,几个主要的浏览器驱动如下 浏览器 链接 Chrome https://sites.google.com/a/chromium.org/chromedriver ...
- 什么是ACID
ACID是衡量事务的四个特性: 原子性(Atomicity,或称不可分割性) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 原子性:原子性是指一个事务 ...
- 8.2.3 覆写 Equals
经过对四种不同类型判等方法的讨论,我们不难发现不管是 Equals 静态方法.Equals 虚方法 抑或==操作符的执行结果,都可能受到覆写 Equals 方法的影响.因此研究对象判等就必须将注意 力 ...