Delphi Powerful Windows System Info Access Component Suite For Delphi

FireWind

Свой
Регистрация
2 Дек 2005
Сообщения
1,957
Реакции
1,199
Credits
4,009
Powerful Windows System Info Access Component Suite For Delphi
By Muminjon March 8, 2021

With the MiTeC System Information component suite, you can get complex system information in Delphi.

Sometimes I need to know about my system fully and I use some utility applications to find out what kind of components that I have in my system.

Since you are a Delphi developer, you can explore the MiTeC System Information component suite to create something like that or even create and distribute your System Information fetching application.
Код:
var
  c,i,idx: Integer;
begin
  List.Items.BeginUpdate;
  try
    List.Items.Clear;
    if SI.OS.DataAvailable and (SI.OS.OSName<>'') then begin
      with List.Items.Add do begin
        Caption:='Machine';
        if SI.Machine.BIOS.BIOSDataCount>0 then
          SubItems.Add(SI.Machine.BIOS.BIOSValue['SystemProductName'].Value)
        else
          SubItems.Add(SI.Machine.SMBIOS.SystemModel);
      end;
      with List.Items.Add do begin
        Caption:='CPU';
        SubItems.Add(Format('%d x %s - %d MHz',[SI.CPU.CPUPhysicalCount,SI.CPU.CPUName,SI.CPU.Frequency]));
      end;
      with List.Items.Add do begin
        Caption:='Memory';
        if SI.Machine.SMBIOS.MemoryDeviceCount>0 then begin
          c:=0;
          idx:=-1;
          for i:=0 to SI.Machine.SMBIOS.MemoryDeviceCount-1 do
            if SI.Machine.SMBIOS.MemoryDevice[i].Size>0 then begin
              Inc(c);
              if idx=-1 then
                idx:=i;
            end;
          SubItems.Add(Format('%d x %d MB %s',[c,
                                               SI.Machine.SMBIOS.MemoryDevice[idx].Size,
                                               MemoryDeviceTypes[SI.Machine.SMBIOS.MemoryDevice[idx].Device]]))
        end else
          SubItems.Add(Format('%d MB',[SI.Memory.PhysicalTotal shr 20]));
      end;
      for i:=0 to SI.Display.AdapterCount-1 do
        with List.Items.Add do begin
          Caption:='Graphics';
          if SI.Display.Adapter[i].Memory>0 then
            SubItems.Add(Format('%s - %d MB',[SI.Display.Adapter[i].Name,SI.Display.Adapter[i].Memory shr 20]))
          else
            SubItems.Add(SI.Display.Adapter[i].Name);
        end;
      with List.Items.Add do begin
        Caption:='OS';
        SubItems.Add(Format('%s %s',[SI.OS.OSName,SI.OS.OSEdition]));
      end;
    end else
      List.Items.Add.Caption:='No data available';
  finally
    List.Items.EndUpdate;
  end;
end;
Here are some of the components available in the component suite:
  • TMiTeC_CPU – provides detailed CPU information
  • TMiTeC_Machine – provides information about the computer or virtual machine, BIOS, TPM
  • TMiTeC_Security – detects installed AntiViruses, AntiSpyware, and Firewalls
  • and more