如何在程序里实现注册表的备份和恢复? 一些修改注册表的软件里面都有备份和恢复注册表的功能,他们在程序里是怎样实现的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 操作注册表需要认识到注册表的六个根键。看看DELPHI的定义:const { Reserved Key Handles. } {$EXTERNALSYM HKEY_CLASSES_ROOT} HKEY_CLASSES_ROOT = DWORD($80000000); {$EXTERNALSYM HKEY_CURRENT_USER} HKEY_CURRENT_USER = DWORD($80000001); {$EXTERNALSYM HKEY_LOCAL_MACHINE} HKEY_LOCAL_MACHINE = DWORD($80000002); {$EXTERNALSYM HKEY_USERS} HKEY_USERS = DWORD($80000003); {$EXTERNALSYM HKEY_PERFORMANCE_DATA} HKEY_PERFORMANCE_DATA = DWORD($80000004); {$EXTERNALSYM HKEY_CURRENT_CONFIG} HKEY_CURRENT_CONFIG = DWORD($80000005); {$EXTERNALSYM HKEY_DYN_DATA} HKEY_DYN_DATA = DWORD($80000006);它们必须在TRegistry变量的RootKey属性中指定。要取得某一个路径的某个键值,必须找到某一个主键,例如有如下一个路径存放着WORD97存放的程序路径: \Software\Microsoft\Office\8.0\Word\InstallRoot\Path其中,PATH是键,在它前面的便是主键(键的路径),而这些键又是放在HKEY_LOCAL_MACHINE这个根键中的。当然,我们想要的是PATH对应的数据,而不是想知道有PATH这个键存在。PATH的类型是一个字符串,所以需要一个字符串变量存放它,例程中使用直接显示的方法表达它。因此,读出PATH键数据的过程就应该是,确定根键,进入主键(路径),读出键的数据值。为了体现对注册表的写操作,我们还特意创建一个主键\Software\3hsoft和里面一个字符串的键MyData。下面是一小段关于此过程的程序,虽然内容不多,但基本上已经将读写的操作表现出来了。 unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; // 记得要加入这个红色的。type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);Const FPath = '\Software\Microsoft\Office\8.0\Word\InstallRoot'; FKey = 'Path'; FMyPath = '\Software\3hSoft'; FMyKey = 'MyData';Var Reg : TRegistry;begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; If Reg.OpenKey(FPath, False) then ShowMessage(Reg.ReadString(FKey)); // 读出的 WinWord 的路径就显示出来了。 Reg.CreateKey(FMyPath); // 创建我们的主键 Reg.OpenKey(FMyPath, True); // 进入我们自己的主键中 Reg.WriteString(FMyKey, 'This is a registry operation test program.'); // 写进键值。 finally Reg.Free; // 用 Try..Finally 结构确保 REG 变量能够释放。 end;end;end. 报表 存储过程 如何制作一个loading界面? 下载的DBGRIDEH怎么加载到DELPHI中? TDataBase 如何连接远程数据库? CORBA程序问题,高分相送! 超简单问题:键盘上的按键(ASC之类) sysu(死树) 进来领分!谢谢! 怎样可以获得Delphi里面的一些源码??100分 做一个这样财务软件, 大约要多少钱? delphi2010 多线程 post .db的文件如何解密码? 聘请delphi“家教”
{ Reserved Key Handles. }
{$EXTERNALSYM HKEY_CLASSES_ROOT}
HKEY_CLASSES_ROOT = DWORD($80000000);
{$EXTERNALSYM HKEY_CURRENT_USER}
HKEY_CURRENT_USER = DWORD($80000001);
{$EXTERNALSYM HKEY_LOCAL_MACHINE}
HKEY_LOCAL_MACHINE = DWORD($80000002);
{$EXTERNALSYM HKEY_USERS}
HKEY_USERS = DWORD($80000003);
{$EXTERNALSYM HKEY_PERFORMANCE_DATA}
HKEY_PERFORMANCE_DATA = DWORD($80000004);
{$EXTERNALSYM HKEY_CURRENT_CONFIG}
HKEY_CURRENT_CONFIG = DWORD($80000005);
{$EXTERNALSYM HKEY_DYN_DATA}
HKEY_DYN_DATA = DWORD($80000006);它们必须在TRegistry变量的RootKey属性中指定。
要取得某一个路径的某个键值,必须找到某一个主键,例如有如下一个路径存放着WORD97存放的程序路径:
\Software\Microsoft\Office\8.0\Word\InstallRoot\Path
其中,PATH是键,在它前面的便是主键(键的路径),而这些键又是放在HKEY_LOCAL_MACHINE这个根键中的。当然,我们想要的是PATH对应的数据,而不是想知道有PATH这个键存在。PATH的类型是一个字符串,所以需要一个字符串变量存放它,例程中使用直接显示的方法表达它。因此,读出PATH键数据的过程就应该是,确定根键,进入主键(路径),读出键的数据值。为了体现对注册表的写操作,我们还特意创建一个主键\Software\3hsoft和里面一个字符串的键MyData。下面是一小段关于此过程的程序,虽然内容不多,但基本上已经将读写的操作表现出来了。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry; // 记得要加入这个红色的。
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
Const
FPath = '\Software\Microsoft\Office\8.0\Word\InstallRoot';
FKey = 'Path';
FMyPath = '\Software\3hSoft';
FMyKey = 'MyData';
Var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
If Reg.OpenKey(FPath, False) then
ShowMessage(Reg.ReadString(FKey)); // 读出的 WinWord 的路径就显示出来了。
Reg.CreateKey(FMyPath); // 创建我们的主键
Reg.OpenKey(FMyPath, True); // 进入我们自己的主键中
Reg.WriteString(FMyKey, 'This is a registry operation test program.');
// 写进键值。
finally
Reg.Free; // 用 Try..Finally 结构确保 REG 变量能够释放。
end;
end;
end.