Delphi获取CPUID
调用:CPUID := GetWMIProperty('Processor', 'ProcessorId'));
需要uses Activex, ComObj, System.Variants;
{-------------------------------------------------------------------------------
过程名: GetWMIProperty 获取CPUID
作者: Anchep
日期: 2018.11.27
参数: WMIType, WMIProperty: AnsiString
返回值: string
-------------------------------------------------------------------------------}
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;
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。