不知道注册表里有没有这些信息HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion

解决方案 »

  1.   

    有一个API的,你查一下。
    不过硬盘序列号如果要出厂的那个,还要动一点手脚
      

  2.   

    取得Cpu的编号及厂家!
    procedure GetCpuInfo;
    var R: array[0..19] of Char;
    var CpuID: Integer;
    begin
      FillChar(R, 20, 0);
      asm
        mov eax, 0
        db 0fh, 0a2h               // 其实就是cpuid汇编指令
        mov dword ptr R[0],  ebx
        mov dword ptr R[4],  edx
        mov dword ptr R[8],  ecx
        mov eax, 1
        db 0fh, 0a2h               // cpuid
        mov CpuID, edx
      end;
      ShowMessage('CPU制造商为:' + R);
      ShowMessage('序列号为:' + IntToStr(CpuID));
    end;
      

  3.   

    //获得CPU信息
    procedure TForm1.Button1Click(Sender: TObject);
    Var
    SysInfo:SYSTEM_INFO;
    begin
    GetSystemInfo(Sysinfo);
    Edit1.Text:='系统中有'+IntToStr(Sysinfo.dwNumberOfProcessors)+'个CPU'
    +',类型为'+IntToStr(Sysinfo.dwProcessorType);
    end;//获得用户注册信息
    procedure TForm1.Button1Click(Sender: TObject);
    Var
    Reg:TRegistry;
    begin
    Reg:=TRegistry.Create;
    Reg.RootKey:=HKEY_LOCAL_MACHINE;
    Reg.OpenKey('Software\Microsoft\Windows NT\CurrentVersion',False);
    Edit1.Text:='当前路径:'+Reg.CurrentPath;
    Edit2.Text:='产品系列号:'+Reg.ReadString('ProductId');
    Edit3.Text:='产品名:'+Reg.ReadString('ProductName');
    Edit4.Text:='注册公司名称:'+Reg.ReadString('RegisteredOrganization');
    Edit5.Text:='用户名:'+Reg.ReadString('RegisteredOwner');
    Edit6.Text:='软件类型:'+Reg.ReadString('SoftwareType');
    Reg.CloseKey;
    Reg.Free;
    end;