function GetMotherBoardSerial: string;
var
objWMIService: OLEVariant;
colItems: OLEVariant;
colItem: OLEVariant;
oEnum: IEnumvariant;
iValue: Longword;
function GetWMIObject(const objectName: string): IDispatch;
var
chEaten: Integer;
BindCtx: IBindCtx;
Moniker: IMoniker;
begin
OleCheck(CreateBindCtx(0, bindCtx));
OleCheck(MkParseDisplayName(BindCtx,
StringToOleStr(objectName),
chEaten, Moniker));
OleCheck(Moniker.BindToObject(BindCtx, nil, IDispatch, Result));
end;
begin
Result := '';
objWMIService :=
GetWMIObject('winmgmts:\\localhost\root\cimv2');
colItems :=
objWMIService.ExecQuery('SELECT SerialNumber FROM Win32_BaseBoard', 'WQL', 0);
oEnum := IUnknown(colItems._NewEnum) as IEnumVariant;
if oEnum.Next(1, colItem,
iValue) = 0 then
Result := VarToStr(colItem.SerialNumber);
end;
Uses
ReplyDeleteComObj, ActiveX;
so much thanx!
ReplyDeleteThanks!
ReplyDeleteGreat! Thanks.
ReplyDeleteGreat, Thanks
ReplyDelete