Delphi 读写注册表
用Delphi 怎么创建删除 修改
注册表中的所有类型的值?
假设我现在要在下 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
新建一个 new项,删除一个del项.
新建一个字符串值 名称为 Str 值为abc
新建一个dword值 名称为 Dwo 值为 cba
新建一个二进制值 名称为 two 值为 acb
请给出这个例子.
当然最好用函数写,读写注册表,直接传参数.
补充: 弄错了!
新建一个二进制值 名称为 two 值为 ff
新建一个dword值 名称为 Dwo 十六进制值为 ee
追问: 哇 靠!
跟百度 搜的一模一样啊!
你能不能弄点你自己写的,
还有 还有怎么删除项和值??
谢谢
答案:给你几个函数,分别是读写字符串与二进制值:
在单元文件中加入Registry
//读取注册表 字符串
function FindRegKeyString(Param_RootKey:HKey;Param_CurrentKey,Param_KeyItem:String):String;
var
MyRegistry:TRegistry;
begin
MyRegistry:=TRegistry.Create;
with MyRegistry do
begin
RootKey:=Param_RootKey;
if OpenKey(Param_CurrentKey,False)=True then
begin
try
Result:=ReadString(Param_KeyItem);
except
Result:='';
end;
CloseKey();
end
else
Result:='';
Free;
end;
end;
//读取注册表,二进制
function FindRegKeyInteger(Param_RootKey:HKey;Param_CurrentKey,Param_KeyItem:String):Integer;
var
MyRegistry:TRegistry;
begin
MyRegistry:=TRegistry.Create;
with MyRegistry do
begin
RootKey:=Param_RootKey;
if OpenKey(Param_CurrentKey,False)=True then
begin
try
Result:=ReadInteger(Param_KeyItem);
except
Result:=0;
end;
CloseKey();
end
else
Result:=0;
Free;
end;
end;
//写进注册表,字符串
procedure WriteRegKeyString(Param_RootKey:HKey;Param_CurrentKey,Param_KeyItem,Param_KeyString:String);
var
MyRegistry:TRegistry;
begin
MyRegistry:=TRegistry.Create;
with MyRegistry do
begin
RootKey:=Param_RootKey;
if OpenKey(Param_CurrentKey,True)=True then
begin
try
WriteString(Param_KeyItem,Param_KeyString);
except
Application.Messagebox(MSG_REGWRITEERROR,MSG_ERROR,MB_ICONSTOP);
end;
CloseKey();
end
else
Application.Messagebox(MSG_REGWRITEERROR,MSG_ERROR,MB_ICONSTOP);
Free;
end;
end;
//写入注册表 二进制
procedure WriteRegKeyInteger(Param_RootKey:HKey;Param_CurrentKey,Param_KeyItem:String;Param_KeyInteger:Integer);
var
MyRegistry:TRegistry;
begin
MyRegistry:=TRegistry.Create;
with MyRegistry do
begin
RootKey:=Param_RootKey;
if OpenKey(Param_CurrentKey,True)=True then
begin
try
WriteInteger(Param_KeyItem,Param_KeyInteger);
except
Application.Messagebox(MSG_REGWRITEERROR,MSG_ERROR,MB_ICONSTOP);
end;
CloseKey();
end
else
Application.Messagebox(MSG_REGWRITEERROR,MSG_ERROR,MB_ICONSTOP);
Free;
end;
end;
你可以使用 REGISTRY的类 声明一个 TREGISTRY的对象 就可以使用函数了 DELPHI自身有支持注册表的类的
上一个:Delphi常用语句?
下一个:DELPHi 图片问题