Delphi编程访问注册表

注册表是windows系统的一个庞大数据库,它存储着系统硬件、软件及用户信息。适当修改注册表的参数值,可以提高系统的性能。注册表的修改通常有两种途径:其一是利用windows系统提供的"RegEdit"命令进行修改。此种方法虽说直观,但由于注册表的复杂性,对于一般用户来说,此方法并不十分可行。其二就是以编程方式来访问注册表。掌握这种方法,对于程序员来说,是一个重要的基本技术。因为在我们的编程过程中,很多地方都需要以程序方式去访问注册表。比如大家熟悉的"超级兔子"、"侠客修改器"等,都是以这种方式来完成对注册表的修改,从而达到保护系统或提高系统性能的目的。

下面以一个实例为基础,讲解在DelPhi中如何以编程方式对注册表进行修改。通过本文的学习,你可以获得以下知识:

第一、明确编程访问注册表的基本思想;

第二、明确如何在程序中完成对注册表的读写操作;

第三、你可以将本文所述的方法移植到VC、VB等语言中,举一反三、触类旁通,达到随心所欲修改注册表的目的。

通过实践,你完全有可能编写出象"超级兔子"那样的系统修改器。

一、 实例叙述

1、 程序名称:"隐藏驱动器"(Hide_Drive.exe)

2、 程序界面:程序运行时的界面如图一所示


3、 功能说明:

(1)用户可以选择"A驱"或"B驱",或同时选择"A驱"和"B驱",单击"隐藏"按钮,即可以隐藏"我的电脑"中的软盘驱动器。

(2)当程序启动时,可判断系统中软盘的当前状态。如果你的系统中软盘B已经是处于隐藏状态,程序启动时的界面则如图二所示。


4、 特别说明:此程序就是典型的对注册表进行读和写的操作。

时间: 2024-10-28 01:06:12

Delphi编程访问注册表的相关文章

使用 Visual Basic .NET 访问注册表

visual|访问|注册表 在 Visual Basic .NET 中编程时,可以选择通过 Visual Basic .NET 提供的函数或者 .NET 框架的注册表类来访问注册表.虽然多数情况下使用 Visual Basic 函数已经足够,但有时仍需要使用 .NET 框架. 注册表储存了有关操作系统的信息以及计算机上安装的应用程序的信息.使用注册表可能会影响安全性.因此,必须仔细检查访问注册表的代码以确保不会给将运行该代码的计算机带来安全影响. 注册表项包括两部分:值名称和值.项目存储在项和子

利用VB.NET访问注册表

访问|注册表 利用VB.NET访问注册表 译者注:访问注册表的例子比较多,然而通过VB.NET访问注册表的例子并不多,本文翻译了一篇MSDN上的利用VB.NET存取注册表的例子,挺详细也挺全面的. ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchimpdragdrop.asp) Cat FrancisVisual Studio TeamMicrosoft Corpo

VB.NET中访问注册表

访问|注册表 vb.net中访问注册表变得非常的简单.我们可以用  microsoft.Win32 名称空间的 下的 registry 类 和 registryKey 类. 另外 My.Computer.Registry 也可以返回一个 Microsoft.Win32.Registry 类的实例.下面就举几个小例子来说明vb.net访问注册表的方法. 1,返回或创建一个注册表键    Dim Key1 As Microsoft.Win32.RegistryKey        Key1 = My

c# 4 0-利用c#代码 访问注册表 不能向注册表里修改数据 求助

问题描述 利用c#代码 访问注册表 不能向注册表里修改数据 求助 我要实现的是通过对注册表的修改 实现隐藏和显示桌面图标 谢谢各位上面的代码就不写了 主要的是 try { int i = 1; RegistryKey key = Registry.CurrentUser; RegistryKey hide = key.OpenSubKey(@""SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced"" true

权限-win7普通用户访问注册表

问题描述 win7普通用户访问注册表 自己编写了一个dll,在dll里面有修改注册表的代码,但是在win7下普通用户登录则无法修改,提示没有权限,请问有办法在dll中添加代码获取权限吗?跪求大神支招!! 解决方案 没办法,dll权限取决与调用它的exe权限.你需要admin权限运行exe'

Delphi编程访问SQL Server数据库

delphi是一个优秀的可视化软件开发环境,并已广泛应用于数据库软件的开发.在DelphiC/S版环境中,结合其优化的数据库操作,以及Borland Database Engine(即:BDE,数据库引擎),对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径.在客户机/服务器系统中,服务器端我们采用Microsoft SQL Server6.0 for WindowsNT作为数据库服务器:另外,在客户端采用Delphi编写客户软件.在此,我们假定SQLServer设置完毕,并已经

C++builder编程修改注册表的问题

RootKey是注册表的根键值,比如运行regedit后看到的HKEY_USERS,HKEY_LOCAL_MACHINE就是RootKey,在TRegIniFile中缺省的RootKey是HKEY_USERS. 下面的例子是TRegistry的,TRegIniFile也差不多 void __fastcall TfrmMainForm::WriteToMyRegistry(int table_count) { //TODO: Add your source code here TRegistry

C++访问注册表获取已安装软件信息列表示例代码_C 语言

复制代码 代码如下: // ---------------------------------------------------------------// FlieNmae: //   SofInfo.h// Remark://   通过读取注册表获得本机已安装软件信息.// ---------------------------------------------------------------#pragma once#include <vector> struct SoftInfo

Delphi修改操作注册表权限的代码_Delphi

需要uses jclwin32, AccCtrl; 此文件需要安装JCL 复制代码 代码如下: function AllowRegKeyForEveryone(Key: HKEY; Path: string): Boolean; var WidePath: PWideChar; Len: Integer; begin case Key of HKEY_LOCAL_MACHINE: Path := 'MACHINE\' + Path; HKEY_CURRENT_USER: Path := 'CUR