我不知道怎么修改注册表中的双字节键值?
请大哥们告诉小弟。谢谢

解决方案 »

  1.   

    unit Unit1;
    interface
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Registry; // 记得要加入这个红色的。
    type
      TForm1 = class(TForm)
          Button1: TButton;
          procedure Button1Click(Sender: TObject);
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    Const
      FPath = '\Software\Microsoft\Office\8.0\Word\InstallRoot';
      FKey = 'Path';
      FMyPath = '\Software\3hSoft';
      FMyKey = 'MyData';
    Var
      Reg : TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_LOCAL_MACHINE;
        If Reg.OpenKey(FPath, False) then
           ShowMessage(Reg.ReadString(FKey)); // 读出的 WinWord 的路径就显示出来了。
        Reg.CreateKey(FMyPath);      // 创建我们的主键
        Reg.OpenKey(FMyPath, True);  // 进入我们自己的主键中
        Reg.WriteString(FMyKey, 'This is a registry operation test program.');
            // 写进键值。
      finally
        Reg.Free; // 用 Try..Finally 结构确保 REG 变量能够释放。
      end;
    end;
    end. 
      

  2.   

    可以用 reg.WriteBinaryData 方法,具体参见帮助吧