通过TRegistry对象,具体看帮助

解决方案 »

  1.   

    use 包括registry
    ww:TRegistry;                   
    ww:=TRegistry.Create;                   
    ww.RootKey :=HKEY_CURRENT_USER;         
    ww.OpenKey('software',FALSE); 
    ww.CreateKey( 'shadow');                  
    ……
    好好搜索一下
      

  2.   

    我写了一个自动配置ODBC的程序,需要操作注册表,你可以参照一下,将你的妹儿贴上来,我发给你,可要给我加分哦!
      

  3.   

    use 包括registryvar  
    MyList: TStringList;
      registerTemp : TRegistry;
      //bData : array[ 0..0 ] of byte;
    begin
        registerTemp := TRegistry.Create; //建立一个Registry实例
        with registerTemp do
           begin
              RootKey:=HKEY_USERS;//设置根键值为HKEY_USERS          //找到Software\ODBC\ODBC.INI\ODBC Data Sources
              if OpenKey('.DEFAULT\Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
              begin //注册一个DSN名称
                  WriteString( ''+edit1.text+'',''+combobox1.text+'' );
              end          else
                begin//创建键值失败
                 memo1.lines.add('增加ODBC数据源失败');
                 exit;
                end;
              CloseKey;        //找到或创建Software\ODBC\ODBC.INI\MyAccess,写入DSN配置信息
              if OpenKey('.DEFAULT\Software\ODBC\ODBC.INI\'+edit1.text+'',True) then
                begin
                  //WriteString( 'DBQ', 'C:\inetpub\wwwroot\test.mdb' );//数据库目录
                  WriteString( 'Description', ''+Edit2.text+'' );//数据源描述
                  WriteString( 'Driver', 'C:\Windows\SYSTEM\sqlsrv32.dll' );//驱动程序DLL文件
                  //WriteInteger( 'DriverId', 25 );//驱动程序标识
                  //WriteString( 'FIL', 'Ms Access;' );//Filter依据
                  //WriteInteger( 'SafeTransaction', 0 );//支持的事务操作数目
                  WriteString( 'Server', ''+EDit3.Text+'' );//服务器名称
                  //WriteString( 'Laster', ''+EDit5.text+'' );//用户名称
                 // bData[0] := 0;
                 // WriteBinaryData( 'Exclusive', bData, 1 );//非独占方式
                  //WriteBinaryData( 'ReadOnly', bData, 1 );//非只读方式
                end
              else//创建键值失败
                begin
                  memo1.lines.add('增加ODBC数据源失败');
                  exit;
                end;
              CloseKey;        //找到或创建Software\ODBC\ODBC.INI\MyAccess\Engines\Jet
            //写入DSN数据库引擎配置信息
              {if OpenKey('Software\ODBC\ODBC.INI\''%'+Edit1.text+'%''\Engines\Jet',True) then
                begin
                       WriteString( 'ImplicitCommitSync', 'Yes' );
                       WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小
                       WriteInteger( 'PageTimeout', 10 );//页超时
                       WriteInteger( 'Threads', 3 );//支持的线程数目
                       WriteString( 'UserCommitSync', 'Yes' );
                  end
                else//创建键值失败
                  begin
                    memo1.lines.add('增加ODBC数据源失败');
                    exit;
                  end;}
              CloseKey;
              memo1.lines.add('增加新ODBC数据源成功!');
              Free;
          end;//end with
      MyList := TStringList.Create;
      try
        with MyList do
        begin
          add('database name='+Edit1.text+'');
          add('SQLQRYMODE=SERVER');
          add('ODBC DSN='+Edit1.Text+'');
          //Add('SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB');
          //Add('USER NAME=MYNAME');
        end;
        Session.AddAlias(''+edit1.text+'', 'SQL Server', MyList);
        Session.SaveConfigFile;
        memo1.Lines.Add('BDE配置成功!');
        MyList.Free;
      except
        memo1.Lines.Add('错误!'+#13+'数据库别名已存在!');
        MyList.Free;
      end;
      bitbtn1.Enabled:=false;
    end;
      

  4.   

    我的Email:[email protected]