如何读取这个串?
    Registry.GetDataType无法检测出它的类型
不知道那个函数可以读取这个

解决方案 »

  1.   

    直接用RegQueryValueEx(Windows API)来读。
    LONG RegQueryValueEx(
      HKEY hKey,            // handle to key
      LPCTSTR lpValueName,  // value name
      LPDWORD lpReserved,   // reserved
      LPDWORD lpType,       // type buffer
      LPBYTE lpData,        // data buffer
      LPDWORD lpcbData      // size of data buffer
    );
    详细资料可以在 msdn.microsoft.com 上查到。
      

  2.   

    uses Registry;procedure TForm1.Button1Click(Sender: TObject);
    var
      fReg: TRegistry;
      fBuffer:array[0..1024] of char;
      aBuffer:array[0..1024] of char;
    begin
      fReg := TRegistry.Create;
      StrLCopy(fBuffer,pchar('大富翁的小伙计!'),Sizeof(fBuffer));
      try
        fReg.RootKey := HKEY_CURRENT_USER;
        if fReg.OpenKey('\Software\BinaryData', True) then
        begin
          fReg.WriteBinaryData('MyApp',fBuffer,Sizeof(fBuffer));
          fReg.ReadBinaryData('MyApp',aBuffer,Sizeof(aBuffer));
          ShowMessage(String(aBuffer));
        end;
      finally
        fReg.CloseKey;
        fReg.Free;
      end;
    end;
      

  3.   

    我晕啦,好在在这里看到,原来注册表的REG_MULTI_SZ类型在string直接转换就能取得!
    感谢楼上的哥哥!