- uses ActiveX, ComObj;
- function GetWMIProperty(WMIProperty: string): string;
- var
- Wmi, Objs, Obj: OleVariant;
- Enum: IEnumVariant;
- C: Cardinal;
- begin
- Wmi:= CreateOleObject('WbemScripting.SWbemLocator');
- Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_OperatingSystem');
- Enum := IEnumVariant(IUnknown(Objs._NewEnum));
- Enum.Reset;
- Enum.Next(1, Obj, C);
- Obj := Obj.Properties_.Item(WMIProperty, 0).Value;
- Result := Obj;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- Memo1.Text :=GetWMIProperty('Caption')+GetWMIProperty('Version');
- end;
来源: http://www.bubuko.com/infodetail-3464623.html