haha,
Application.MessageBox(buf,'',MB_OK);这句话有问题,既然是ReadBinaryData,怎能当String用呢?
Application.MessageBox(buf,'',MB_OK);这句话有问题,既然是ReadBinaryData,怎能当String用呢?
解决方案 »
- "09C6"是什么编码?如何转换成"2502"???
- WebBrowser的IHTMLWindow2 如何调用ShowModalDialog打开模式对话框
- 二进制文件的问题???
- 我自己的create方法怎么不行?
- 如何得知一个颜色值TColor接近黑色?
- ListView的加入的item图标是16*16的,怎么设置成32*32的?(最后18分提问)
- 请问10进制换成16进制用什么函数?
- 问一个菜鸟问题,如何从使用函数的代码跳转到函数实现的代码?
- 求教:delphi中对表的操作???
- *******请问各位高手,在关于图象存储方面有没有比较好的办法?
- 谁有 考勤管理系统 的例子?
- Delphi 6中关于MainMenu的一个奇怪的问题
var
reg:tregistry;
buf:array of byte; //动态数组
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
setlength(buf,4); //设置动态数组的长度
try
if reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\Explorer',false) then
if reg.ValueExists('NoDriveTypeAutoRun') then
reg.ReadBinaryData('NoDriveTypeAutoRun',buf[0],sizeof(buf));
finally
setlength(buf,0);
reg.Free;
end;
end;你参考一下这段代码吧,根据单步执行的效果,buf中的值是(149,0,0,0)对应的16进制的值就是(95,0,0,0)。也就是注册表中显示的值