Inicio > Componentes, Delphi, GLibWMI, WMI > Actualizada a la versión 3.0 la librería de componentes GLibWMI

Actualizada a la versión 3.0 la librería de componentes GLibWMI

ImagenLibreria_154x154Aunque “oficialmente” es una actualización de la librería GLibWMI, que pasa a la versión 3.0, se ha reescrito el código de todos los componentes. A continuación se listan las novedades de esta actualización.

El código fuente estará a partir de esta versión en GitHub:

https://github.com/NeftaliDelphi/GLibWMI

Hasta ahora se consideraba en estado “beta” y esta versión pasa a ser “estable”.

  • Soporte desde Delphi6, Delphi7,… Delphi XE, XE2, XE3, XE4, XE5… Delphi 10.4
  • Reescrito todo el código completo de los componentes.
  • Se añade documentación a las propiedades y métodos de los componentes.
  • Nuevos Iconos para todos los componentes.
  • en esta versión se distribuyen los componentes en la paleta en 2 categorías (software y Hardware).
  • Añadidas nuevas demos de los componentes y se ha actualizado las existentes.
  • Se añaden nuevos componentes a la librerías:
    • PnpEntityInfo: Información de dispositivos Plug&Play.
    • FanInfo: Información de los ventiladores existentes en el sistema.
    • ProductInf: Información de los productos instalados en el sistema.
    • VideoControllerInfo: Información de los controladores de video presentes en el sistema.
    • DisplayInfo pasa a ser DisplayConfigurationInfo.

Captura_2020-06-29 14_04_45

El link a todas las actualizaciones de la librería está aquí.

He añadido al repositorio las demos compiladas para poder descargarlas y probar el funcionamiento, aunque estaría bien poder tener feedback de la compilación en diferentes versiones de Delphi (lo he probado en algunas, pero no en todas).

A continuación adjunto una descripción básica de la funcionalidad de cada uno de los componentes.

TBIOSInfo: La clase Win32_BIOS representa los atributos del servicio de entrada y salida básico del sistema (BIOS, Basic Input/Output Service) instalado en el equipo.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-bios

TComputerSystemInfo: La clase Win32_ComputerSystem representa el sistema operativo de un equipo en un entorno Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-computersystem

TServiceInfo: La clase Win32_Service representa un servicio en un sistema Win32. Un aplicación de servicio cumple las reglas de la interfaz del Administrador de control de servicios (SCM, Service Control Manager) y un usuario la puede iniciar automáticamente al arrancar el sistema a través del programa Servicios del Panel de control o mediante una aplicación que utilice las funciones de servicio de la API de Win32. Los servicios se pueden ejecutar aunque ningún usuario haya iniciado sesión en el sistema.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-service

TPnPEntityInfo: La clase Win32_PnPEntity representa las propiedades de un dispositivo Plug and Play. Las entidades Plug and Play se muestran como entradas en el Administrador de dispositivos que se encuentra en el Panel de control.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-pnpentity

TDiskPartitionInfo: La clase Win32_DiskPartition representa las posibilidades y la capacidad de administración de un área con particiones en un disco físico de un sistema Win32. Ejemplo: Disco nº 0, Partición nº1.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-diskpartition

TProcessorInfo: La clase Win32_Processor representa un dispositivo capaz de interpretar una secuencia de instrucciones de código máquina en un equipo Win32. En un equipo multiprocesador, habrá una instancia de esta clase para cada procesador.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-processor

TDiskDriveInfo: La clase Win32_DiskDrive representa una unidad física de disco tal y como la percibe un equipo donde se ejecuta el sistema operativo Win32. Cualquier interfaz a una unidad física de disco de Win32 es un descendiente, o miembro, de esta clase. Las características de la unidad de disco vistas a través de este objeto corresponden a las características de administración y la lógica de la unidad. En algunos casos, esto puede no reflejar las características físicas reales del dispositivo. Cualquier objeto basado en otro dispositivo lógico no sería un miembro de esta clase. Ejemplo: Disco fijo IDE.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-diskdrive

TCDROMDriveInfo: La clase Win32_CDROMDrive representa una unidad de CD-ROM en Win32_ComputerSystem.

Nota: el nombre de la unidad no se corresponde con la letra de unidad lógica asignada al dispositivo.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-cdromdrive

TVideoControllerInfo: La clase Win32_VideoController representa las posibilidades y la capacidad de administración de la controladora de vídeo en un equipo Win32. Ejemplos: fabricante del adaptador de vídeo, versión del conjunto de chips, resolución de la pantalla y número de colores.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-videocontroller

TUSBControllerInfo: La clase Win32_USBController administra las capacidades de una controladora de bus serie universal (USB).

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-usbcontroller

TKeyboardInfo: La clase Win32_Keyboard representa un teclado instalado en un sistema Win32. Ejemplo: Un teclado Natural(R) de Microsoft

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-keyboard

TDesktopMonitorInfo: La clase Win32_DesktopMonitor representa el tipo de dispositivo de pantalla o monitor conectado al equipo.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-desktopmonitor

TPointingDeviceInfo: La clase Win32_PointingDevice representa un dispositivo de entrada usado para señalar y seleccionar zonas de la pantalla en un equipo Win32. Cualquier dispositivo usado para controlar un puntero o señalar en la pantalla de un equipo Win32 es miembro de esta clase. Ejemplo: un mouse, teclado táctil o tablillas de escritura o plumas.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-pointingdevice

TNetworkAdapterInfo: La clase Win32_NetworkAdapter representa un adaptador de red en un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-networkadapter

TBatteryInfo: La clase Win32_Battery representa una batería conectada al sistema del equipo. Esta clase se aplica a las baterías en los sistemas portátiles y otras baterías internas/externas.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-battery

TSoundDeviceInfo: La clase Win32_SoundDevice representa las propiedades de un dispositivo de sonido instalado en un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-sounddevice

TFanInfo: La clase Win32_Fan representa las propiedades de un ventilador del equipo. Por ejemplo, el ventilador para la refrigeración de la CPU.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-fan

TPrinterInfo: Capacidades y administración del dispositivo lógico de la impresora.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-printer

TUserAccountInfo: La clase Win32_UserAccount contiene información acerca de una cuenta de usuario de un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-useraccount

TOperatingSystemInfo: La clase Win32_OperatingSystem representa un sistema operativo instalado en un sistema Win32. Los sistemas operativos que se pueden instalar en un sistema Win32 son descendientes (o miembros) de esta clase. Ejemplo: Microsoft Windows 95.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-operatingsystem

TProcessInfo: La clase Win32_Process representa una secuencia de eventos en un sistema Win32. Cualquier secuencia compuesta por la interacción de uno o más procesadores o intérpretes, código ejecutable y un conjunto de datos de entrada, es un descendiente (o miembro) de esta clase. Ejemplo: una aplicación cliente que se ejecuta en un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-process

TPrintJobInfo: CIM_Job es un elemento lógico que representa una unidad de trabajo para un sistema, tal como un trabajo de impresión. Un trabajo es distinto a un proceso, en el sentido en que un trabajo se puede programar.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-printjob

TEnvironmentInfo: La clase Win32_Environment representa una configuración de entorno o de sistema en un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-environment

TShareInfo: La clase Win32_Share representa un recurso compartido en un sistema Win32. Puede tratarse de una unidad de disco, impresora, comunicación entre procesos u otro dispositivo que se pueda compartir. Ejemplo: C:\PUBLIC.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-share

TCodecFileInfo: La clase Win32_CodecFile representa el códec de audio o vídeo instalado en el equipo. Los códecs convierten un tipo de formato de medio en otro, normalmente un formato comprimido a uno descomprimido. El nombre «códec» deriva de una combinación de «compress» (comprimir) y «decompress» (descomprimir). Por ejemplo, un códec puede convertir un formato comprimido como MS-ADPCM a un formato sin comprimir como PCM, que la mayor parte del hardware de audio puede reproducir directamente.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-codecfile

TRegistryInfo: La clase Win32_Registry representa el Registro del sistema en un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-registry

TPhysicalMemoryInfo: La clase Win32_PhysicalMemory representa un dispositivo de memoria física que se encuentra en un sistema como disponible para el sistema operativo.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-physicalmemory

TProductInfo: Las instancias de esta clase representan productos instalados por MSI. Por lo general, un producto suele estar correlacionado con un solo paquete de instalación.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-product

TTimeZoneInfo: La clase Win32_TimeZone representa la información de zona horaria para un sistema Win32. Esta información incluye los cambios necesarios para la transición a y desde el horario de verano.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-timezone

TDesktopInfo: La clase Win32_Desktop representa las características comunes del escritorio de un usuario. El usuario puede modificar las propiedades de esta clase para personalizar el escritorio.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-desktop

TStartupCommandInfo: La clase Win32_StartupCommand representa un comando que se ejecuta automáticamente cuando un usuario inicia sesión en el equipo.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-startupcommand

TBootConfigurationInfo: La clase Win32_BootConfiguration representa la configuración de arranque de un sistema Win32.

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-bootconfiguration

TDisplayConfigurationInfo: La clase Win32_DisplayConfiguration representa la información de configuración del dispositivo de pantalla en un sistema Win32. Esta clase quedó obsoleta en favor de las propiedades de las clases Win32_VideoController, Win32_DesktopMonitor y CIM_VideoControllerResolution

MSDN link: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-displayconfiguration

Como siempre los comentarios, sugerencias, críticas (sin son constructivas) son bienvenidas.

Vota este post
Categories: Componentes, Delphi, GLibWMI, WMI Tags:
  1. jueves, 30 de julio de 2020 a las 09:55 | #1

    Fenomenal trabajo, Germán

    Muchas gracias y un saludo

  2. jueves, 30 de julio de 2020 a las 10:28 | #2

    @elkurgan dosmil
    Gracias por el comentario.

  3. Javierus
    jueves, 30 de julio de 2020 a las 15:12 | #3

    Impresionante, gran trabajo ???

  4. viernes, 31 de julio de 2020 a las 08:08 | #4

    @Javierus
    Gracias Javier.

  5. Gregorio Cíber
    sábado, 5 de septiembre de 2020 a las 12:54 | #5

    Genial y muchas gracias por poner tus conocimientos al servicio de la comunidad.

  1. Sin trackbacks aún.