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核心编程》 之 注冊表的更多相关文章

  1. 《解读window核心编程》 之 字符和字符串处理方式

    推荐的字符和字符串处理方式 開始将文本字符串想象为字符的数组,而不是 char 或字节的数组. 用通用数据类型(如 TCHAR/PTSTR )来表示文本字符和字符串. 用明白的数据类型(如 BYTE  ...

  2. 《解读window核心编程》 之 进程

    1.         进程是执行文件的运行时形态.包括两部分:内核数据(对应内核对象).地址空间(包括执行文件代码和栈堆等动态内存). 2.         把VC的“系统-子系统”值删除掉,即不指定 ...

  3. c++ 操作注冊表

    1.       注冊表简单介绍 注冊表是为Windows NT和Windows95中全部32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (W ...

  4. PLSQL Developer过期要注冊表

    打开执行输入 regedit 打表注冊表 删除 HKEY_CURRENT_USER\Software\Allround Automations HKEY_CURRENT_USER\Software\M ...

  5. 64位Windows操作系统中的注冊表

    x64系统上有x64.x86两种注冊表,记录下. 64 位Windows系统中的注冊表分为 32 位注冊表项和 64 位注冊表项.很多 32 位注冊表项与其对应的 64 位注冊表项同名. 在64位版本 ...

  6. YII用户注冊表单的实现熟悉前台各个表单元素操作方式

    模还是必须定义两个基本方法.还有部分label标签映射为汉字,假设进行表单验证,还要定义一些验证规则: <? php /* * 用户模型 * */ class user extends CAct ...

  7. C# 系统应用之注冊表使用具体解释

    在平时做项目时,我们有时会遇到注冊表的操作,比如前面我们须要获取IE浏览器地址栏的信息.获取"我的电脑"地址栏输入的目录信息.USB近期使用信息等.注冊表项是注冊表的基本组织单位, ...

  8. VC++ 读写注冊表,注冊文件图标关联

    #include <string> #include <iostream> #include <Windows.h> #include <shlobj.h&g ...

  9. C#注冊表操作汇总

    一.注冊表基本知识 1)       结构 键->项->子项->值项(名称.类型.数据) REG_SZ         字符串 REG_BINARY    二进制 REG_DWORD ...

随机推荐

  1. Linux基础之网络协议

    互联网通信原理 从物理层面来说,每台计算机在一开始都是彼此孤立的,为了实现信息的交流与共享,计算机之间必须要建立通信网络.例如人与人之间的交流,他们必须要共用一套语言系统,才能交流成功.计算机之间也是 ...

  2. codeforces_724C_Ray Tracing

    C. Ray Tracing time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  3. js 滚动条

    <script type="text/javascript"> //文档高度1016 包含隐藏的margin和padding 实际1000 //文档1000 //窗口高 ...

  4. element ui 日期控件范围时间限制记录、以及计算两个日期之间的天数

    日期的筛选经常会有最小的日期选择,例如:当前日期 :clearable="false" :picker-options="pickerOptions0" val ...

  5. c#中通过事件实现按下回车跳转控件

    //接受用户输入参数后回车事件 private void tb_KeyPress(object sender, KeyPressEventArgs e) { ) { SendKeys.Send(&qu ...

  6. css的基础知识1

    总结:css引用:1内联:在标签中加style属性,<标签名 style="样式1:样式值1:样式2:样式值2"> </标签名>.2.内嵌:在head标签中 ...

  7. 【原】Pchart生成图片

    学习网址: http://wiki.pchart.net/doc.introduction.html http://pchart.sourceforge.net/index.php

  8. selenium之浏览器驱动

    selenium需要配合浏览器的驱动使用,几个主要的浏览器驱动如下 浏览器 链接 Chrome https://sites.google.com/a/chromium.org/chromedriver ...

  9. 什么是ACID

    ACID是衡量事务的四个特性: 原子性(Atomicity,或称不可分割性) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 原子性:原子性是指一个事务 ...

  10. 8.2.3 覆写 Equals

    经过对四种不同类型判等方法的讨论,我们不难发现不管是 Equals 静态方法.Equals 虚方法 抑或==操作符的执行结果,都可能受到覆写 Equals 方法的影响.因此研究对象判等就必须将注意 力 ...