看相关资料,都是在 software下建立的,如何创建自己的。?
delphi 7
 我想建立一个  比如 ASD 的 铸件。即 HKEY_LOCAL_MACHINE 下面 建立一个 ASD 的主键

解决方案 »

  1.   


    1、将自己的程序加入到注册表
    var reg:Tregistry; //formCreate Event
    begin
    reg:=Tregistry.create;
    reg.rootkey( 'HKEY_LOCAL_MACHINE ');
    reg.openkey( 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run ');
    if not keyexists( 'MyApp.exe ') then //if not exist ,add it!
    writestring( 'MyApp.exe ');
    end;
    2、将信息写入注册表
    相应代码如下:
    var
    reg:TRegistry;//声明一个TRegistry类变量

    begin
    reg:=TRegistry.Create;//创建实例
    reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键
    if reg.OpenKey(’\Software\Delphi,true) then//如果打开成功则进行以下操作
    begin
    reg.WriteString(’内容名称’,'操作注册表’);//将需要保存的信息写入注册表
    reg.CloseKey;//关闭注册表
    end;
    reg.Free;//释放变量所占内存

    end;
    2、从注册表中读取信息
    相应代码如下:
    var
    reg:TRegistry;//声明一个TRegistry类变量
    s:String;//声明一个字符串变量用来存放要读取的信息

    begin
    reg:=TRegistry.Create;//创建实例
    reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键
    if reg.OpenKey(’\Software\Delphi’,true) then//如果打开成功则进行以下操作
    begin
    s:=reg.ReadString(’内容名称’);//从注册表中读取对应字符串的值
    //如果该字符串不存在则返回值为空字符串
    reg.CloseKey;//关闭注册表
    end;
    reg.Free;//释放变量所占内存

    end;

    procedure TForm1.btn1Click(Sender: TObject);   //写入值
    var
      tmpReg                                                              : TRegistry;
    begin
      tmpReg := TRegistry.Create;
      try
        tmpReg.RootKey := HKEY_LOCAL_MACHINE;                             //设置要操作的注册表的根键值
        if tmpReg.OpenKey('\ASD', True) then //如果打开此注册表成功,刚进入写入操作.
        begin
          tmpReg.WriteString('delphi测试', 'c:\qmenu.exe');               //开始写入操作或空值也可以.
        end;
      finally
        tmpReg.Free;
      end;
    end;
      

  2.   

    最初 我看了有些资料,觉得这样完全正确,但是我亲自试验了好几个 同功能程序。和楼上的 Winmillion 朋友给出的 一样,注册表 没有在  根目录下 HKEY_LOCAL_MACHINE  新建  asd 主键。到底是 何处 问题?
      

  3.   

    如果是win7/64位的话 有些不同 查查看