如何在Delphi中实现注册表的读写啊???
8 个解决方案
#1
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\fdfdf',True);
Reg.WriteString('APPPath',Apppath);
Reg.CloseKey;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\fdfdf',True);
Reg.WriteString('APPPath',Apppath);
Reg.CloseKey;
#2
Reg:TRegistry;
别忘了引用REGISTRY单元
别忘了引用REGISTRY单元
#3
uses Registry
//读注册表里的内容
var
myUserID,mySQLServerIP,myPassword:String;
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
try
myUserID:=Reg.ReadString('UserID');
mySQLServerIP:=Reg.ReadString('SqlServerIP');
myPassword:=Reg.ReadString('SqlServerPwd');
myPassWord:=Decrypt(myPassword,0);
except
//.....
end;
下面的代码是写注册表
var
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
Reg.WriteString('UserID',txtUser.Text);
Reg.WriteString('SqlServerIP',txtIP.Text);
Reg.WriteString('SqlServerPwd',Decrypt(txtPassword.Text,1));
Reg.CloseKey;
Reg.Free; //释放对象
end;
//读注册表里的内容
var
myUserID,mySQLServerIP,myPassword:String;
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
try
myUserID:=Reg.ReadString('UserID');
mySQLServerIP:=Reg.ReadString('SqlServerIP');
myPassword:=Reg.ReadString('SqlServerPwd');
myPassWord:=Decrypt(myPassword,0);
except
//.....
end;
下面的代码是写注册表
var
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
Reg.WriteString('UserID',txtUser.Text);
Reg.WriteString('SqlServerIP',txtIP.Text);
Reg.WriteString('SqlServerPwd',Decrypt(txtPassword.Text,1));
Reg.CloseKey;
Reg.Free; //释放对象
end;
#4
呵呵,谢谢两位了啊
我先试一下,不懂的在问你们啊???
我先试一下,不懂的在问你们啊???
#5
http://soft.56kc.com/Filedown.aspx?FID=408
http://soft.56kc.com/FileDown.aspx?FID=164
http://soft.56kc.com/FileDown.aspx?FID=164
#6
呵呵.已经很清楚了.
在Delphi下操作注册表应该不是什么难事了.TRegistry 类很强大
在Delphi下操作注册表应该不是什么难事了.TRegistry 类很强大
#7
TRegistry很强的,不过包含起来文件也要大不少 我给你一个直接用API操作注册表的单元,只处理字符串的
unit Unit_Reg;
interface
uses
Windows;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
implementation
function OpenKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: Hkey;
begin
TempKey := 0;
RegOpenKeyEx(Root, StrPath, 0, KEY_ALL_ACCESS, TempKey);
Result := TempKey;
end;
function CreateKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: HKey; Disposition: Integer;
begin
TempKey := 0;
RegCreateKeyEx(Root, StrPath, 0, nil, 0, KEY_ALL_ACCESS, nil, TempKey, @Disposition);
Result := TempKey;
end;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
var s: Hkey;
DataSize: Integer;
begin
s := CreateKey(Root, StrPath);
DataSize := length(Strdata);
RegSetValueEx(s, StrValue, 0, REG_SZ, Strdata, DataSize); //
RegCloseKey(s);
end;
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
var s: Hkey;
begin
s := OpenKey(Root, StrPath);
RegDeleteValue(s, StrValue);
RegCloseKey(s);
end;
end.
unit Unit_Reg;
interface
uses
Windows;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
implementation
function OpenKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: Hkey;
begin
TempKey := 0;
RegOpenKeyEx(Root, StrPath, 0, KEY_ALL_ACCESS, TempKey);
Result := TempKey;
end;
function CreateKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: HKey; Disposition: Integer;
begin
TempKey := 0;
RegCreateKeyEx(Root, StrPath, 0, nil, 0, KEY_ALL_ACCESS, nil, TempKey, @Disposition);
Result := TempKey;
end;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
var s: Hkey;
DataSize: Integer;
begin
s := CreateKey(Root, StrPath);
DataSize := length(Strdata);
RegSetValueEx(s, StrValue, 0, REG_SZ, Strdata, DataSize); //
RegCloseKey(s);
end;
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
var s: Hkey;
begin
s := OpenKey(Root, StrPath);
RegDeleteValue(s, StrValue);
RegCloseKey(s);
end;
end.
#8
uses Registry
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey = HKEY_LOCAL_MACHINE;
// False because we do not want to create it if it doesn't exist
Registry.OpenKey(KeyName, False);
Result := Registry.ReadString('VALUE1');
finally
Registry.Free;
end;
end;
procedure TForm1.WMEndSession(var Message: TWMEndSession);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
begin
Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
Reg.CloseKey;
end;
finally
Reg.Free;
inherited;
end;
end;
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey = HKEY_LOCAL_MACHINE;
// False because we do not want to create it if it doesn't exist
Registry.OpenKey(KeyName, False);
Result := Registry.ReadString('VALUE1');
finally
Registry.Free;
end;
end;
procedure TForm1.WMEndSession(var Message: TWMEndSession);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
begin
Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
Reg.CloseKey;
end;
finally
Reg.Free;
inherited;
end;
end;
#1
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\fdfdf',True);
Reg.WriteString('APPPath',Apppath);
Reg.CloseKey;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\fdfdf',True);
Reg.WriteString('APPPath',Apppath);
Reg.CloseKey;
#2
Reg:TRegistry;
别忘了引用REGISTRY单元
别忘了引用REGISTRY单元
#3
uses Registry
//读注册表里的内容
var
myUserID,mySQLServerIP,myPassword:String;
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
try
myUserID:=Reg.ReadString('UserID');
mySQLServerIP:=Reg.ReadString('SqlServerIP');
myPassword:=Reg.ReadString('SqlServerPwd');
myPassWord:=Decrypt(myPassword,0);
except
//.....
end;
下面的代码是写注册表
var
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
Reg.WriteString('UserID',txtUser.Text);
Reg.WriteString('SqlServerIP',txtIP.Text);
Reg.WriteString('SqlServerPwd',Decrypt(txtPassword.Text,1));
Reg.CloseKey;
Reg.Free; //释放对象
end;
//读注册表里的内容
var
myUserID,mySQLServerIP,myPassword:String;
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
try
myUserID:=Reg.ReadString('UserID');
mySQLServerIP:=Reg.ReadString('SqlServerIP');
myPassword:=Reg.ReadString('SqlServerPwd');
myPassWord:=Decrypt(myPassword,0);
except
//.....
end;
下面的代码是写注册表
var
Reg:TRegistry;
begin
Reg:=Tregistry.Create; //创建Tregistry对象的实例
Reg.Rootkey := HKEY_CURRENT_USER ; //设置根键名称
Reg.OpenKey('\Software\Microsoft\myReg',True);
Reg.WriteString('UserID',txtUser.Text);
Reg.WriteString('SqlServerIP',txtIP.Text);
Reg.WriteString('SqlServerPwd',Decrypt(txtPassword.Text,1));
Reg.CloseKey;
Reg.Free; //释放对象
end;
#4
呵呵,谢谢两位了啊
我先试一下,不懂的在问你们啊???
我先试一下,不懂的在问你们啊???
#5
http://soft.56kc.com/Filedown.aspx?FID=408
http://soft.56kc.com/FileDown.aspx?FID=164
http://soft.56kc.com/FileDown.aspx?FID=164
#6
呵呵.已经很清楚了.
在Delphi下操作注册表应该不是什么难事了.TRegistry 类很强大
在Delphi下操作注册表应该不是什么难事了.TRegistry 类很强大
#7
TRegistry很强的,不过包含起来文件也要大不少 我给你一个直接用API操作注册表的单元,只处理字符串的
unit Unit_Reg;
interface
uses
Windows;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
implementation
function OpenKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: Hkey;
begin
TempKey := 0;
RegOpenKeyEx(Root, StrPath, 0, KEY_ALL_ACCESS, TempKey);
Result := TempKey;
end;
function CreateKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: HKey; Disposition: Integer;
begin
TempKey := 0;
RegCreateKeyEx(Root, StrPath, 0, nil, 0, KEY_ALL_ACCESS, nil, TempKey, @Disposition);
Result := TempKey;
end;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
var s: Hkey;
DataSize: Integer;
begin
s := CreateKey(Root, StrPath);
DataSize := length(Strdata);
RegSetValueEx(s, StrValue, 0, REG_SZ, Strdata, DataSize); //
RegCloseKey(s);
end;
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
var s: Hkey;
begin
s := OpenKey(Root, StrPath);
RegDeleteValue(s, StrValue);
RegCloseKey(s);
end;
end.
unit Unit_Reg;
interface
uses
Windows;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
implementation
function OpenKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: Hkey;
begin
TempKey := 0;
RegOpenKeyEx(Root, StrPath, 0, KEY_ALL_ACCESS, TempKey);
Result := TempKey;
end;
function CreateKey(Root: HKEY; StrPath: pchar): Hkey;
var TempKey: HKey; Disposition: Integer;
begin
TempKey := 0;
RegCreateKeyEx(Root, StrPath, 0, nil, 0, KEY_ALL_ACCESS, nil, TempKey, @Disposition);
Result := TempKey;
end;
procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
var s: Hkey;
DataSize: Integer;
begin
s := CreateKey(Root, StrPath);
DataSize := length(Strdata);
RegSetValueEx(s, StrValue, 0, REG_SZ, Strdata, DataSize); //
RegCloseKey(s);
end;
procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
var s: Hkey;
begin
s := OpenKey(Root, StrPath);
RegDeleteValue(s, StrValue);
RegCloseKey(s);
end;
end.
#8
uses Registry
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey = HKEY_LOCAL_MACHINE;
// False because we do not want to create it if it doesn't exist
Registry.OpenKey(KeyName, False);
Result := Registry.ReadString('VALUE1');
finally
Registry.Free;
end;
end;
procedure TForm1.WMEndSession(var Message: TWMEndSession);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
begin
Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
Reg.CloseKey;
end;
finally
Reg.Free;
inherited;
end;
end;
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey = HKEY_LOCAL_MACHINE;
// False because we do not want to create it if it doesn't exist
Registry.OpenKey(KeyName, False);
Result := Registry.ReadString('VALUE1');
finally
Registry.Free;
end;
end;
procedure TForm1.WMEndSession(var Message: TWMEndSession);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
begin
Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
Reg.CloseKey;
end;
finally
Reg.Free;
inherited;
end;
end;