关于注册表的问题......(50分)

  • 主题发起人 主题发起人 太阳河上
  • 开始时间 开始时间

太阳河上

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi操作注册表时,TRegistry的WriteBinaryData如何使用?就是如何在程序中读写二
进制值? 最好有程序说明,有分。
 
//USER 。。。。。。,Registry
//在注册表的
//HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run
//加入一个键
procedure Tfrm_control.edit_reg;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('/Software/Microsoft/Windows/CurrentVersion/Run',True)
then Reg.WriteString('NCQ','"' + ParamStr(0) + '"');
finally
Reg.CloseKey;
Reg.Free;
inherited;
end;
end;
//读时将WRITESTRING改为READSTRING。
Reg.READSTRING('NCQ');
 
cnbobo:
你好,你这是读写字符串值。我是不懂如何用WriteBinaryData函数,也说是说如何读写二进制值?
 
WriteBinaryData是写二进制数据的意思
第一个参数是注册表中你要建立的键名。
第二个参数是该键名的值,一般用十六进制表示比较直观。
第三个参数指明第二个参数的字节大小。

例子参考
http://www.delphibbs.com/delphibbs/dispq.asp?lid=199885
已答贴子中有很多答案的,自己的找找吧
 
我基本懂一点了,但如何把一个16进制的值给第二个参数呢?谢谢!可加分
 
比如将动态数组a写入:
WriteBinaryData('ValueName', a, Length(a));
将静态数组a[10]写入:
WriteBinaryData('ValueName', a, 10);
将字符串s写入:
WriteBinaryData('ValueName', s, Length(s));
将指针p的长度为Len的内容写入:
WriteBinaryData('ValueName', p^, Len);
 
给大家发分
 
后退
顶部