求delphi2010 获取 cpu 核心,内存型号和内存大小等硬件信息代码。

解决方案 »

  1.   

    老版本的倒是有一些
    http://xeonfeng.bokee.com/4938068.html
      

  2.   

    读取CPU型号。
    function TViewSystemInfoFrm.GetCPUname: string;
    var
      Reg: TRegistry;
    begin
      Result := '';
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_LOCAL_MACHINE;
        if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', False) then
        Result := Reg.ReadString('ProcessorNameString');
      finally
        Reg.Free;
      end;
    end;//只能读取到线程数,核心数求教中。CPUCount 是system 下面的可以直接用。
    Memo1.Lines.Add(Format('1、 系统中共有  核心数/%d 线程数',[CPUCount]));
      

  3.   

    貌似读取回来的信息不对啊。我是I5的cpu读取回来的怎么是奔腾的呢。也没有读取内存型号的代码。
      

  4.   

    可以读取到cpu 的型号了。cpu核心数和内存型号帮帮忙补充一下好不。。
      

  5.   

    请查阅WMI
    在Delphi里需要先导入   Microsoft WMIScripting V1.x Library,   Component->Import Component->Import type library->"先中类库"->Add unit to project
      

  6.   

    wmi确实可以,但是那东东有几个缺点第一是delphi下的资料太少,第二是执行需要开放wmi相关服务,但是很多防火墙软件都会禁用wmi,因为它太危险了,第三是速度有些慢的说
      

  7.   

    CDSN中别人代码。7下两个通过。一个有异常。2010应该全部能行。
    function GetWMIProperty(WMIType, WMIProperty:AnsiString):String;
    var
      Wmi, Objs, Obj:OleVariant;
      Enum:IEnumVariant;
      C:Cardinal;begin
      try
        Wmi:= CreateOleObject(AnsiString('WbemScripting.SWbemLocator'));
        Objs := Wmi.ConnectServer(AnsiString('.'),AnsiString('root\cimv2')).ExecQuery(AnsiString('Select * from Win32_'+WMIType));   Enum:=IEnumVariant(IUnknown(Objs._NewEnum));
        Enum.Reset;
        Enum.Next(1,Obj,C);
        Obj:=Obj.Properties_.Item(WMIProperty,0).Value;
        if VarIsArray(Obj) then Result:=Obj[0]
        else Result:=Obj;
        except
         Result:='error';
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
     // ShowMessage(GetWMIProperty('BIOS','BIOSVersion'));          //获得BIOS版本
      ShowMessage(GetWMIProperty('DiskDrive','SerialNumber'));     //获得第一块硬盘的设备标示
     // ShowMessage(GetWMIProperty('Processor','ProcessorId'));     //获得CPUID。
    end;
      

  8.   

    GetWMIProperty  
    用api
      

  9.   

    顶  delphi2010 获取硬件信息
      

  10.   

    Ring3下获取不到什么有用的信息。WMI的话会多一点
    要获取各种硬件的详细信息,还是得需要在Ring0下面弄