AVZ 5. Руководство пользователя
×
Меню
Индекс

16.46.6. Примеры

1. Скрипт, выводящий сведения о текущих установленных антивирусах
begin
  if WMI_INIT('localhost', 'root\SecurityCenter2') then
    if WMI_QUERY('SELECT * FROM AntiVirusProduct') then
      while WMI_FETCH do
        Addtolog(WMI_GETFIELD('displayName') + ', '+
                 WMI_GETFIELD('instanceGuid'));
end.
 
2. Сведения о видеокарте
begin
  if WMI_INIT('localhost', 'root\cimv2') then
    if WMI_QUERY('SELECT * FROM Win32_VideoController') then
      while WMI_FETCH do begin
        Addtolog('VideoProcessor = '+ WMI_GETFIELD('VideoProcessor'));
        Addtolog('Video RAM = '+ WMI_GETFIELD('AdapterRAM'));
        Addtolog('VideoModeDescription = '+ WMI_GETFIELD('VideoModeDescription'));
      end;
end.
 
3. Данные о дисках в системе
function GetField(AName : string) : string;
begin
  Result := AName +
           '="'+
            WMI_GETFIELD(AName)+
           '"';
end;
begin
  if WMI_INIT('localhost', 'root\cimv2') then
    if WMI_QUERY('SELECT * FROM Win32_LogicalDisk') then
      while WMI_FETCH do begin
         Addtolog(GetField('DeviceID')+', '+
             GetField('VolumeName')+', '+
             GetField('Size')+', '+
             GetField('FreeSpace')+', '+
             GetField('VolumeSerialNumber'));
      end;
end.
 
В примерах использовались: AddToLog, WMI_FETCH, WMI_GETFIELD, WMI_INIT, WMI_QUERY
 
4. Определение объема оперативной памяти ПК
 
function GetPCMemSize : integer;
var
 x : double;
begin
 Result := 0; x := 0;
 if WMI_INIT('localhost', 'root\cimv2') then
  if WMI_QUERY('SELECT * FROM Win32_PhysicalMemory') then
    while WMI_FETCH do
      x := x + StrToFloat(WMI_GETFIELD('Capacity'));
  x := x / (1024*1024); // Перевод в мегабайты
  Result := round(x);
end;
 
begin
  Addtolog('Memory size = '+IntToStr(GetPCMemSize)+' mb');
end.
 
В примере использовались:  AddToLog, StrToFloat, WMI_FETCH, WMI_GETFIELD, WMI_INIT, WMI_QUERY