高后大G,打听一下如何向注册表中添加类型为二进制值的键值。 小弟想在软件中向注册表中添加类弄为二进制值的键值,在DFW经高人指点,说用TRegistry类的WriteBinaryData方法便可搞定。可是小弟试了N次,仍不得要领,还请各大虾指点一下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 WriteInteger、WriteBoolean、WriteFloat 等都是添加二进制类型的键值的。 function SetInfoInReg(Key:HKEY;IniSubKey,IniString:string;Default:Variant):Boolean;//设置Windows注册表信息var IniFile:TRegistry;begin result:=true; IniFile := TRegIniFile.Create(''); IniFile.RootKey := KEY; try IniFile.openkey(InisubKey,true); case VarType(Default) of varBoolean: IniFile.WriteBool(IniString,Default); varDate: IniFile.WriteDateTime(IniString,Default); varString,varStrArg,varOleStr: IniFile.WriteString(IniString,Default); varInteger,varByte,varSmallint: IniFile.WriteInteger(IniString,Default); varSingle,varDouble: IniFile.WriteFloat(IniString,Default); varCurrency: IniFile.WriteCurrency(IniString,Default); end; except result:=false; end; IniFile.free;end;SetInfoInReg(HKEY_LOCAL_MACHINE,'Software\test,'abc',true); To 楼上我要问的只是怎样向注册表中添加类型为二进制值的键值,又没问你那么多 :-)我现在只想知道WriteFloat方法应该怎样用,比如我在注册表编辑器中新建->二进制值->输入一个键值名Suunb,并把Suunb键值的值设置为41(即A的ASII码),可是我如果用WriteFloat来写入的话Reg.WriteFloat('Suunb',41); 在注册表编辑器中得到的Suunb的值却是00 00 00 00 00 80 44 40,呜呜呜...另外如果我要是想给Suunb付值 00 00 00 00 00 80 44 40 ,那又该如果实现呢?帮忙搞定,嫌分少再另付... 这个就是float的二进制保存方式,你管它怎么写的呢只要读出来能够还是41就行了 可是我的目的不在此啊兄台。如果我需要要向注册表中添加一个值为41的值,到底要用什么方法呢?难道TRegistry类没有此类方法?苦恼中... 再使用 reg.ReadFloat 读出来不就行了。 如何实现组合查询,,谢谢 关于TRzCheckTree控件选中问题 请问 急 在线等!!! 新手入门,简单问题 各位觉得使用Access数据库好?还是使用delphi自带的paradox数据库? 这个东西我搞不定,不爽呀,帮我搞定,给分!!!!! 不够再开贴加 怎样实现这样的效果? PrintDBGridEh页数参数是什么 真的没有高手么,真的没人会么? 控件拖动时的问题 代码简化
//设置Windows注册表信息
var
IniFile:TRegistry;
begin
result:=true;
IniFile := TRegIniFile.Create('');
IniFile.RootKey := KEY;
try
IniFile.openkey(InisubKey,true);
case VarType(Default) of
varBoolean:
IniFile.WriteBool(IniString,Default);
varDate:
IniFile.WriteDateTime(IniString,Default);
varString,varStrArg,varOleStr:
IniFile.WriteString(IniString,Default);
varInteger,varByte,varSmallint:
IniFile.WriteInteger(IniString,Default);
varSingle,varDouble:
IniFile.WriteFloat(IniString,Default);
varCurrency:
IniFile.WriteCurrency(IniString,Default);
end;
except
result:=false;
end;
IniFile.free;
end;SetInfoInReg(HKEY_LOCAL_MACHINE,'Software\test,'abc',true);
我要问的只是怎样向注册表中添加类型为二进制值的键值,又没问你那么多 :-)
我现在只想知道WriteFloat方法应该怎样用,比如我在注册表编辑器中新建->二进制值->输入一个键值名Suunb,并把Suunb键值的值设置为41(即A的ASII码),可是我如果用WriteFloat来写入的话Reg.WriteFloat('Suunb',41); 在注册表编辑器中得到的Suunb的值却是00 00 00 00 00 80 44 40,呜呜呜...
另外如果我要是想给Suunb付值 00 00 00 00 00 80 44 40 ,那又该如果实现呢?
帮忙搞定,嫌分少再另付...
只要读出来能够还是41就行了
如果我需要要向注册表中添加一个值为41的值,到底要用什么方法呢?
难道TRegistry类没有此类方法?
苦恼中...