Hello,
Problem jak w temacie. Kawałek kodu poniżej, pisane w Delphi 7, działa pod Win7 ale pod XP już jest pusto.
Niestety nie mam możliwości debugowania pod XP wiec nie wiem co się dzieje w kodem.
Przeczytałem, poniższy artykuł, ale nie to jest chyba moim problemem bo nie dostaje żadnego błędu
http://theroadtodelphi.wordpress.com/2010/11/28/be-careful-when-you-import-the-microsoft-wmiscripting-library/
Nie chce korzystać z dodatkowych komponentów.
Ktoś nakieruje?
procedure TForm1.ShowMotherBoardInfo;
var
WMIServices : ISWbemServices;
SWbemObjectSet : ISWbemObjectSet;
SObject : ISWbemObject;
Enum : IEnumVariant;
TempObj : OleVariant;
Value : Cardinal;
SWbemPropertySet: ISWbemPropertySet;
begin
WMIServices := CoSWbemLocator.Create.ConnectServer('.', 'root\cimv2','', '', '', '', 0, nil);
SWbemObjectSet := WMIServices.ExecQuery('Select * FROM Win32_BaseBoard', 'WQL', 0, nil);
Enum := (SWbemObjectSet._NewEnum) as IEnumVariant;
while (Enum.Next(1, TempObj, Value) = S_OK) do
begin
SObject := IUnknown(tempObj) as ISWBemObject;
SWbemPropertySet := SObject.Properties_;
Memo1.Lines.add('SerialNumber = ' + SWbemPropertySet.Item('SerialNumber', 0).Get_Value);
end;
end;