请问怎么用delphi对 reg_multi_sz 类型的注册表值进行读写

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
          hK   :   HKEY;
          dwRet   :   DWORD;
          iValue   : pchar;
      begin
      iValue:=pchar('192.168.1.1');
      dwRet:=RegOpenKey(HKEY_LOCAL_MACHINE,'\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{D0955AEB-969C-4A7F-80A6-4D5E00169093}',hK);
       if   dwRet   =   ERROR_SUCCESS   then
       begin
        RegSetValueEx(hK,'aaaa',0,REG_MULTI_SZ,pchar('192.168.1.1'),sizeof(iValue));
        RegCloseKey(hK);
       end;
      end;
    为什么不行
      

  2.   

    http://www.china-askpro.com/msg48/qa05.shtmlDelphi下如何读写多字符串值(REG_MULTI_SZ类型)
      

  3.   

    var
      HK:HKEY;
      s:string;
      IeCache:array[0..255] of char;
      IeCacheLen:integer;
        begin
         IeCacheLen:=256;
         RegOpenKey(HKEY_LOCAL_MACHINE,'\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{D0955AEB-969C-4A7F-80A6-4D5E00169093}',HK);
         RegQueryValueEx(HK,PChar('DefaultGateway'),nil,nil,@IeCache,@ieCacheLen);
         S:=Strpas(IeCache)+'';
        end;
    为什么不行
    s为空