Delphi在注册表中写入dword值  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

Delphi在注册表中写入dword值



.reg文件中的数字值编码为十六进制。由于您要将整数文字传递给WriteInteger(),因此需要在前缀上加上,$以使编译器将其解释为十六进制:

reg.WriteInteger('BrowserFlags', $80000024);

话虽如此,请注意,您正在写HKEY_LOCAL_MACHINE,更重要的是,您正在打开具有KEY_ALL_ACCESS访问权限(使用的默认访问权限TRegistry)的密钥。这将要求您以管理员身份运行提升了级别的应用程序(如果尚未运行)。您应该将TRegistry.Access属性设置为KEY_SET_VALUE,甚至可以HKEY_CURRENT_USER改为写入。

procedure RegOpenExplorer;
var
 reg: TRegistry;
begin
 reg := TRegistry.Create(KEY_SET_VALUE);
 try
   reg.RootKey := HKEY_LOCAL_MACHINE; // or HKEY_CURRENT_USER
   if reg.OpenKey('SOFTWARE\Classes\Word.Document.12\', true) then
   try
     reg.WriteInteger('BrowserFlags', $80000024);
   finally
     reg.CloseKey;
   end;
 finally
   reg.Free;
 end;
end;



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.04088306427002 seconds