Delphi 获取CPUID和制造商

网上C++代码转的

能正确获取

 

 

//获取CPUID function GetCpuId(): UINT; var bException: BOOL; szCpu: array [0 .. 15] of BYTE; uCpuID: UINT; begin Result := 0; ZeroMemory(@szCpu, sizeof(szCpu)); uCpuID := 0; bException := False; try asm mov eax, 0 cpuid mov dword ptr szCpu[0], ebx mov dword ptr szCpu[4], edx mov dword ptr szCpu[8], ecx mov eax, 1 cpuid mov uCpuID, edx end; except bException := TRUE; end; if not bException then Result := uCpuID; end; //获取CPU厂商 function GetCpuName(): string; var bException: BOOL; szCpu: array [0 .. 15] of BYTE; uCpuID: UINT; begin Result := ''; ZeroMemory(@szCpu, sizeof(szCpu)); uCpuID := 0; bException := False; try asm mov eax, 0 cpuid mov dword ptr szCpu[0], ebx mov dword ptr szCpu[4], edx mov dword ptr szCpu[8], ecx mov eax, 1 cpuid mov uCpuID, edx end; except bException := TRUE; end; if not bException then Result := StrPas(PAnsiChar(@szCpu)); end; //调用示例 MessageBox(0, PChar(GetCpuName()), PChar('CPU制造厂商'), MB_OK); MessageBox(0, PChar(Inttostr(GetCpuId())), PChar('CPUID'), MB_OK);

你可能感兴趣的:(Delphi)