Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WMI


Dy1 ©   (2009-07-25 00:29:00) 

полтора года назад поднимался вопрос. Помогите плз, я до сих пор не понимаю ActiveX program test;
uses
KOL, WbemScripting_TLBKOL, ActiveX, Variants;

function GetWMIstring2 (wmiHost, wmiClass, wmiProperty : string):string;
var
Locator:  ISWbemLocator;
Services: ISWbemServices;
SObject:  ISWbemObject;
ObjSet:   ISWbemObjectSet;
SProp:    ISWbemProperty;
Enum:     IEnumVariant;
Value:    Cardinal;
TempObj:  OleVariant;
SN: string;
begin
Locator := CoSWbemLocator.Create;
Services :=  Locator.ConnectServer(wmiHost, 'root\wmi', '', '', '','', 0, nil);
ObjSet := Services.ExecQuery('SELECT * FROM '+wmiClass, 'WQL',
 wbemFlagReturnImmediately and wbemFlagForwardOnly , nil); {здесь у меня ошибка Exception with message ''}
Enum := (ObjSet._NewEnum) as IEnumVariant;
while (Enum.Next(1, TempObj, Value) = S_OK) do
begin
 SObject := IUnknown(tempObj) as ISWBemObject;
 SProp := SObject.Properties_.Item(wmiProperty, 0);
 if VarIsNull(SProp.Get_Value) then
   result := ''
 else
 begin
   SN := SProp.Get_Value;
   result :=  SN;
 end;
end;
{ except
on exception do
 result := '';
end;
}
end;

procedure ButtonClick(Dummy: Pointer; Sender: PControl);
begin
MsgOK(getWMIstring2('','MSAcpi_ThermalZoneTemperature','CurrentTemperature') );
end;

begin
Applet := NewForm(nil,'Test').SetSize(200,200);
with NewButton(Applet,'Temp')^ do
begin
  CenterOnParent;
  OnClick := TOnEvent(MakeMethod(nil,@ButtonClick));
end;
OleInit;
Run(Applet);
OleUnInit;
end.


Dy1   (2009-07-28 12:09:00) [1]

помогите пожалуйста


Наверх

Титульная страница Поиск, карта сайта Написать письмо