SysInfo (Control)

El control SysInfo permite responder a ciertos mensajes del sistema enviados a todas las aplicaciones por el sistema operativo. Por tanto, la aplicación puede adaptarse a los cambios del sistema operativo si fuera necesario.

Sintaxis

SysInfo

Comentarios

Si utiliza el control SysInfo, puede supervisar la información proporcionada por el sistema operativo y responder a eventos generados por el sistema. Las características de este control pertenecen a uno de estos grupos:

  • Eventos relacionados con los cambios del sistema (por ejemplo, los eventos DisplayChanged, TimeChanged y SettingChanged).

  • Eventos y propiedades del estado de la alimentación (por ejemplo, los eventos PowerSuspend, PowerResume y las propiedades ACStatus y BatteryStatus).

  • Eventos de Plug and Play (por ejemplo, los eventos DeviceArrival, DeviceRemoveComplete).

  • Propiedades del sistema operativo (por ejemplo, las propiedades OSVersion y WorkAreaHeight).


No se encuentra el tema

No se halló el tema correspondiente. A continuación enumeramos algunas posibles razones y sus soluciones:

  • El archivo (.chm) que contiene el tema de destino no se encuentra en la ubicación esperada.

    Solución: vuelva a ejecutar la instalación de la Biblioteca MSDN.

  • El archivo (.chm) que contiene el tema actual o el de destino no está actualizado y el vínculo ya no es válido.

    Solución: instale la última versión de la Biblioteca MSDN.

  • El CD de la Biblioteca MSDN no está en la unidad de CD-ROM.

    Solución: inserte el CD en la unidad.


ConfigChangeCancelled (Evento)

Ocurre cuando el sistema operativo envía un mensaje a todas las aplicaciones para informar de que un cambio del perfil del hardware se ha cancelado.

Sintaxis

Private Sub objeto_ConfigChangeCancelled([índice As Integer])

La sintaxis del evento ConfigChangeCancelled consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.

Comentarios

Debe usar este evento para liberar cualquier procesamiento que empezó en el procedimiento del evento QueryChangeConfig.


ConfigChanged (Evento)

Ocurre cuando el perfil de hardware del sistema ha cambiado.

Sintaxis

Private Sub objeto_ConfigChanged([índice As Integer,] ByVal númAntiguaConfig As Long, ByVal númNuevaConfig As Long)

La sintaxis del evento ConfigChanged consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
númAntiguaConfig | El nombre de clave del registro de Windows para la configuración anterior del sistema.
númNuevaConfig | El nombre de clave del registro de Windows para la configuración nueva del sistema.

Comentarios

Para anclar y desanclar un equipo portátil con una estación de anclaje, este evento ocurre después de que el sistema reanuda su funcionamiento.


DeviceArrival (Evento)

Ocurre cuando se agrega un nuevo dispositivo al sistema.

Sintaxis

Private Sub objeto_DeviceArrival([índice As Integer,] ByVal tipoDispositivo As Long, ByVal IdDispositivo As Long, ByVal nombreDispositivo As String, ByVal datosDispositivo As Long)

La sintaxis del evento DeviceArrival consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
tipoDispositivo | Valor que indica el tipo del dispositivo que se ha agregado, como se describe en Valores.
IdDispositivo | Valor que identifica el dispositivo, como se describe en Valores.
nombreDispositivo | Null para todos los valores de tipoDispositivo excepto DeviceTypePort. Cuando tipoDispositivo es DeviceTypePort, entonces nombreDispositivo es dbcp_name.
datosDispositivo | Un valor como se describe en Valores.

Valores

Los valores de tipoDispositivo son:

Constante | Valor | Descripción
DeviceTypeOEM | 0 | Tipo de dispositivo definido por OEM.
DeviceTypeDevNode | 1 | Número de devnode (Windows 95).
DeviceTypeVolume | 2 | Volumen lógico (unidad de disco).
DeviceTypePort | 3 | Puerto serie o paralelo.
DeviceTypeNet | 4 | Recurso de red

Los valores de IdDispositivo son:

Valor de tipoDispositivo | Valor de IdDispositivo
DeviceTypeOEM | dbco_identifier
DeviceTypeDevNode | dbcd_devnode
DeviceTypeVolume | dbcv_unitmask
DeviceTypePort | Null
DeviceTypeNet | dbcn_resource

Los valores de datosDispositivo son:

Valor de tipoDispositivo | Valor de datosDispositivo
DeviceTypeOEM | dbco_suppfunc
DeviceTypeDevNode | Null
DeviceTypeVolume | dbcv_flags
DeviceTypePort | Null
DeviceTypeNet | dbcn_flags

Comentarios

Este evento es muy útil si una aplicación puede hacer uso dinámicamente del nuevo hardware.


DeviceOtherEvent (Evento)

Un evento de notificación que no se asigna a los eventos generales.

Sintaxis

Private Sub objeto_DeviceOtherEvent([índice As Integer,] ByVal tipoDispositivo As Long, ByVal nombreEvento As String, ByVal punteroDatos As Long)

La sintaxis del evento DeviceOtherEvent consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
tipoDispositivo | Valor que indica el tipo de dispositivo que procesará eventos, como se describe en Valores.
nombreEvento | Expresión de cadena que da como resultado el nombre de un evento.
punteroDatos | Valor largo que apunta a los datos específicos del dispositivo.

Valores

Los valores de tipoDispositivo son:

Constante | Valor | Descripción
DeviceTypeOEM | 0 | Tipo de dispositivo definido por OEM.
DeviceTypeDevNode | 1 | Número de devnode (Windows 95).
DeviceTypeVolume | 2 | Volumen lógico (unidad de disco).
DeviceTypePort | 3 | Puerto serie o paralelo.
DeviceTypeNet | 4 | Recurso de red


DeviceQueryRemove (Evento)

Ocurre antes de quitar un dispositivo del sistema.

Sintaxis

Private Sub objeto_DeviceQueryRemove([índice As Integer,] ByVal tipoDispositivo As Long, ByVal IdDispositivo As Long, ByVal nombreDispositivo As String, ByVal datosDispositivo As Long, cancelar As Boolean)

La sintaxis del evento DeviceQueryRemove consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
tipoDispositivo | Valor que indica el tipo de dispositivo que se ha agregado, como se describe en Valores.
IdDispositivo | Valor que identifica el dispositivo, como se describe en Valores.
nombreDispositivo | Null para todos los valores de tipoDispositivo excepto DeviceTypePort. Cuando tipoDispositivo es DeviceTypePort, nombreDispositivo es dbcp_name.
datosDispositivo | Un valor como se describe en Valores.
cancelar | Valor booleano, como se describe en Valores.

Valores

Los valores de tipoDispositivo son:

Constante | Valor | Descripción
DeviceTypeOEM | 0 | Tipo de dispositivo definido por OEM.
DeviceTypeDevNode | 1 | Número de devnode (Windows 95).
DeviceTypeVolume | 2 | Volumen lógico (unidad de disco).
DeviceTypePort | 3 | Puerto serie o paralelo.
DeviceTypeNet | 4 | Recurso de red

Los valores de IdDispositivo son:

Valor de tipoDispositivo | Valor de IdDispositivo
DeviceTypeOEM | dbco_identifier
DeviceTypeDevNode | dbcd_devnode
DeviceTypeVolume | dbcv_unitmask
DeviceTypePort | Null
DeviceTypeNet | dbcn_resource

Los valores de datosDispositivo son:

Valor de tipoDispositivo | Valor de datosDispositivo
DeviceTypeOEM | dbco_suppfunc
DeviceTypeDevNode | Null
DeviceTypeVolume | dbcv_flags
DeviceTypePort | Null
DeviceTypeNet | dbcn_flags

Los valores de cancelar son:

Valor | Descripción
True | El sistema impide que se quite el dispositivo.
False | El sistema permite que se quite el dispositivo.

Comentarios

Este evento sólo tiene lugar si el proceso responsable de quitar el dispositivo envía el mensaje requerido al sistema operativo antes de que se quite el dispositivo.


DeviceQueryRemoveFailed (Evento)

Ocurre si el código del evento DeviceQueryRemove cancela la eliminación de un dispositivo.

Sintaxis

Private Sub objeto_DeviceQueryRemoveFailed([índice As Integer,] ByVal tipoDispositivo As Long, ByVal IdDispositivo As Long, ByVal nombreDispositivo As String, ByVal datosDispositivo As Long, cancelar As Boolean)

La sintaxis del evento DeviceQueryRemoveFailed consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado al índice de un control si está en una matriz de controles.
tipoDispositivo | Valor que indica el tipo de dispositivo que se ha agregado, como se describe en Valores.
IdDispositivo | Valor que identifica el dispositivo, como se describe en Valores.
nombreDispositivo | Null para todos los valores de tipoDispositivo excepto DeviceTypePort. Cuando tipoDispositivo es DeviceTypePort, nombreDispositivo es dbcp_name.
datosDispositivo | Un valor como se describe en Valores.
cancelar | Valor booleano, como se describe en Valores.

Valores

Los valores de tipoDispositivo son:

Constante | Valor | Descripción
DeviceTypeOEM | 0 | Tipo de dispositivo definido por OEM.
DeviceTypeDevNode | 1 | Número de devnode (Windows 95).
DeviceTypeVolume | 2 | Volumen lógico (unidad de disco).
DeviceTypePort | 3 | Puerto serie o paralelo.
DeviceTypeNet | 4 | Recurso de red

Los valores de IdDispositivo son:

Valor de tipoDispositivo | Valor de IdDispositivo
DeviceTypeOEM | dbco_identifier
DeviceTypeDevNode | dbcd_devnode
DeviceTypeVolume | dbcv_unitmask
DeviceTypePort | Null
DeviceTypeNet | dbcn_resource

Los valores de datosDispositivo son:

Valor de tipoDispositivo | Valor de datosDispositivo
DeviceTypeOEM | dbco_suppfunc
DeviceTypeDevNode | Null
DeviceTypeVolume | dbcv_flags
DeviceTypePort | Null
DeviceTypeNet | dbcn_flags

Los valores de cancelar son:

Valor | Descripción
True | El sistema impide que se quite el dispositivo.
False | El sistema permite que se quite el dispositivo.


DeviceRemoveComplete (Evento)

Ocurre después de quitar un dispositivo.

Sintaxis

Private Sub objeto_DeviceQueryRemove([índice As Integer,] ByVal tipoDispositivo As Long, ByVal IdDispositivo As Long, ByVal nombreDispositivo As String, ByVal datosDispositivo As Long, cancelar As Boolean)

La sintaxis del evento DeviceRemoveComplete consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
tipoDispositivo | Valor que indica el tipo de dispositivo que se ha agregado, como se describe en Valores.
IdDispositivo | Valor que identifica el dispositivo, como se describe en Valores.
nombreDispositivo | Null para cualquier valor de tipoDispositivo excepto DeviceTypePort. Cuando tipoDispositivo es DeviceTypePort, nombreDispositivo es dbcp_name.
datosDispositivo | Un valor como se describe en Valores.
cancelar | Valor booleano, como se describe en Valores.

Valores

Los valores de tipoDispositivo son:

Constante | Valor | Descripción
DeviceTypeOEM | 0 | Tipo de dispositivo definido por OEM.
DeviceTypeDevNode | 1 | Número de devnode (Windows 95).
DeviceTypeVolume | 2 | Volumen lógico (unidad de disco).
DeviceTypePort | 3 | Puerto serie o paralelo.
DeviceTypeNet | 4 | Recurso de red

Los valores de IdDispositivo son:

Valor de tipoDispositivo | Valor de IdDispositivo
DeviceTypeOEM | dbco_identifier
DeviceTypeDevNode | dbcd_devnode
DeviceTypeVolume | dbcv_unitmask
DeviceTypePort | Null
DeviceTypeNet | dbcn_resource

Los valores de datosDispositivo son:

Valor de tipoDispositivo | Valor de datosDispositivo
DeviceTypeOEM | dbco_suppfunc
DeviceTypeDevNode | Null
DeviceTypeVolume | dbcv_flags
DeviceTypePort | Null
DeviceTypeNet | dbcn_flags

Los valores de cancelar son:

Valor | Descripción
True | El sistema impide que se quite el dispositivo.
False | El sistema permite que se quite el dispositivo.

Comentarios

En algunos casos este evento se produce incluso aunque no se produzca ningún otro evento de eliminación de dispositivo.


DeviceRemovePending (Evento)

Ocurre cuando todas las aplicaciones han dado permiso para quitar un dispositivo y éste está a punto de quitarse.

Sintaxis

Private Sub objeto_DeviceRemovePending([índice As Integer,] ByVal tipoDispositivo As Long, ByVal IdDispositivo As Long, ByVal nombreDispositivo As String, ByVal datosDispositivo As Long, cancelar As Boolean)

La sintaxis del evento DeviceRemovePending consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
tipoDispositivo | Valor que indica el tipo de dispositivo que se ha agregado, como se describe en Valores.
IdDispositivo | Valor que identifica el dispositivo, como se describe en Valores.
nombreDispositivo | Null para todos los valores de tipoDispositivo excepto DeviceTypePort. Cuando tipoDispositivo es DeviceTypePort, nombreDispositivo es dbcp_name.
datosDispositivo | Un valor como se describe en Valores.
cancelar | Valor booleano, como se describe en Valores.

Valores

Los valores de tipoDispositivo son:

Constante | Valor | Descripción
DeviceTypeOEM | 0 | Tipo de dispositivo definido por OEM.
DeviceTypeDevNode | 1 | Número de devnode (Windows 95).
DeviceTypeVolume | 2 | Volumen lógico (unidad de disco).
DeviceTypePort | 3 | Puerto serie o paralelo.
DeviceTypeNet | 4 | Recurso de red.

Los valores de IdDispositivo son:

Valor de tipoDispositivo | Valor de IdDispositivo
DeviceTypeOEM | dbco_identifier
DeviceTypeDevNode | dbcd_devnode
DeviceTypeVolume | dbcv_unitmask
DeviceTypePort | Null
DeviceTypeNet | dbcn_resource

Los valores de datosDispositivo son:

Valor de tipoDispositivo | Valor de datosDispositivo
DeviceTypeOEM | dbco_suppfunc
DeviceTypeDevNode | Null
DeviceTypeVolume | dbcv_flags
DeviceTypePort | Null
DeviceTypeNet | dbcn_flags

Los valores de cancelar son:

Valor | Descripción
True | El sistema está impide que se quite el dispositivo.
False | El sistema permite que se quite el dispositivo.


DevModeChange (Evento)

Ocurre cuando el usuario cambia la configuración de modo del dispositivo.

Sintaxis

Private Sub objeto_DevModeChange([índice As Integer,] ByVal nombreDispositivo As String)

La sintaxis del evento DevModeChange consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
nombreDispositivo | Expresión de cadena que identifica el nombre del dispositivo especificado en el registro de Windows.


DisplayChanged (Evento)

Ocurre cuando cambia la resolución de pantalla del sistema.

Sintaxis

Private Sub objeto_DisplayChanged([índice As Integer])

La sintaxis del evento DisplayChanged consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.

Comentarios

Utilice este evento para realizar los ajustes necesarios en la interfaz de la aplicación como consecuencia de los cambios en la resolución de la pantalla.


Ejemplo del evento DisplayChanged

En este ejemplo se comprueba el tamaño del formulario activo después de un cambio en la resolución de la pantalla y se ajusta el formulario si sobrepasa la zona visible de la pantalla. Para ejecutar este ejemplo, coloque un control SysInfo en un formulario. Pegue este código al evento DisplayChanged del control SysInfo. Ejecute el ejemplo y cambie la resolución de la pantalla.

Private Sub SysInfo1_DisplayChanged()
    If Screen.ActiveForm.Width > SysInfo1.WorkAreaWidth Then
        Screen.ActiveForm.Left = SysInfo1.WorkAreaLeft
        Screen.ActiveForm.Width = SysInfo1.WorkAreaWidth
    End If
    If Screen.ActiveForm.Height > SysInfo1.WorkAreaHeight Then
        Screen.ActiveForm.Top = SysInfo1.WorkAreaTop
        Screen.ActiveForm.Height = SysInfo1.WorkAreaHeight
    End If
End Sub


PowerQuerySuspend (Evento)

Ocurre cuando se va a interrumpir la alimentación del sistema.

Sintaxis

Private Sub objeto_PowerQuerySuspend([índice As Integer,] cancelar As Boolean)

La sintaxis del evento PowerQuerySuspend consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
cancelar | Valor booleano que indica si se impedirá que el sistema entre en el modo de interrupción de la alimentación, como se describe en Valores.

Valores

Los valores de cancelar son:

Valor | Descripción
True | Impide que el sistema entre en el modo de interrupción de la alimentación.
False | (Predeterminado) Permite que el sistema entre en el modo de interrupción de la alimentación.


PowerResume (Evento)

Ocurre cuando el sistema sale del modo de interrupción de la alimentación y las aplicaciones reanudan las operaciones normales.

Sintaxis

Private Sub objeto_PowerResume([índice As Integer])

La sintaxis del evento PowerResume consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.


PowerStatusChanged (Evento)

Ocurre cuando hay un cambio en el estado de la alimentación del sistema.

Sintaxis

Private Sub objeto_PowerStatusChanged([índice As Integer])

La sintaxis del evento PowerStatusChanged consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.

Comentarios

Los siguientes cambios en el estado de la alimentación del sistema desencadenan el evento PowerStatusChanged:

  • Batería descargándose

  • Cambio de la alimentación de corriente alterna a batería y viceversa

  • La batería ha terminado de cargarse


Ejemplo del evento PowerStatusChanged

En este ejemplo se actualiza un control Label cada vez que hay un cambio en el estado de la alimentación, de manera que la aplicación muestra constantemente el estado de la batería. Para ejecutar este ejemplo, coloque un control SysInfo y un control Label en un formulario. Pegue este código al evento PowerStatusChanged del control SysInfo. Después ejecute el ejemplo.

Private Sub SysInfo1_PowerStatusChanged()
   Select Case SysInfo1.BatteryStatus
      Case 1
         Label1.Caption = "Batería correcta"
      Case 2
         Label1.Caption = "Batería baja"
      Case 4
         Label1.Caption = "Batería crítica"
      Case 8
         Label1.Caption = "Batería cargándose"
      Case 128, 255
         Label1.Caption = "No hay estado de batería"
   End Select
End Sub


PowerSuspend (Evento)

Ocurre inmediatamente antes de que el sistema entre en modo de interrupción de la alimentación.

Sintaxis

Private Sub objeto_PowerSuspend([índice As Integer])

La sintaxis del evento PowerSuspend consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.


QueryChangeConfig (Evento)

Ocurre al solicitar un cambio en el perfil actual del hardware, por medio de la interfaz de usuario del sistema operativo o al entrar en modo de interrupción de la alimentación antes de anclar o desanclar el sistema.

Sintaxis

Private Sub objeto_QueryChangeConfig([índice As Integer,] cancelar As Boolean)

La sintaxis del evento QueryChangeConfig consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
cancelar | Valor booleano, como se describe en Valores.

Valores

Los valores de cancelar son:

Valor | Descripción
True | Impide que el sistema cambie el perfil del hardware.
False | (Predeterminado) Permite que el sistema cambie el perfil del hardware.


SettingChanged (Evento)

Ocurre cuando una aplicación cambia un parámetro que afecta a todo el sistema.

Sintaxis

Private Sub objeto_SettingChanged([índice As Integer,] ByVal elemento As Integer, ByVal sección As Integer)

La sintaxis del evento SettingChanged consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.
elemento | Entero largo que contiene la información del parámetro del sistema que ha cambiado. Si el mensaje no se envía desde USER32, entonces ese parámetro del sistema (que es el parámetro WPARAM del la constante WM_SETTINGCHANGE y que corresponde a un parámetro para la rutina de la API de win32, SystemParameterInfo) es siempre cero. Muchos de los diversos subprogramas del panel de control hacen que se envíe este mensaje, pero lo envían ellos mismos, no desde USER32. Bajo estas condiciones, pueden obtener 0 como el valor de este evento.
sección | Expresión de cadena que da como resultado el nombre de la sección que contiene el parámetro del sistema que ha cambiado.

Comentarios

Puede usar el evento SettingChanged para detectar un número de cambios útiles del sistema. Uno de los más útiles que puede detectar es cuando un usuario mueve la barra de tareas de Windows 95 o cambia su tamaño.


SysColorsChanged (Evento)

Ocurre cuando cambia la configuración de color del sistema, mediante una aplicación o a través del Panel de control.

Sintaxis

Private Sub objeto_SysColorsChanged([índice As Integer])

La sintaxis del evento SysColorsChanged consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.


TimeChanged (Evento)

Ocurre cuando cambia la hora del sistema, tanto mediante una aplicación como mediante el Panel de control.

Sintaxis

Private Sub objeto_TimeChanged([índice As Integer])

La sintaxis del evento TimeChanged consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Expresión numérica que da como resultado el índice de un control si está en una matriz de controles.


ACStatus (Propiedad)

Devuelve un valor que indica si el sistema utiliza alimentación de corriente alterna.

Sintaxis

objeto.ACStatus

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Valores

Los valores de la propiedad ACStatus son:

Valor | Descripción
0 | El sistema no está utilizando alimentación AC.
1 | El sistema está utilizando alimentación AC.
255 | El estado de la alimentación AC es desconocido.


Ejemplo de la propiedad ACStatus

En este ejemplo se utiliza un control Label en un formulario para mostrar el estado de la alimentación AC del sistema. Para ejecutar este ejemplo, coloque un control SysInfo, un control Label y un control Timer en un formulario. Pegue este código al evento Timer del control Timer. Establezca la propiedad Interval del control Timer a 5000 y ejecute el ejemplo.

Private Sub Timer1_Timer()
   Select Case SysInfo1.ACStatus
      Case 0
         Label1.Caption = "Alimentación AC: apagada"
      Case 1
         Label1.Caption = "Alimentación AC: encendida"
      Case 255
         Label1.Caption = "Alimentación AC: desconocida"
   End Select
End Sub


BatteryFullTime (Propiedad)

Devuelve un valor que indica la duración de la carga llena de la batería.

Sintaxis

objeto.BatteryFullTime

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

La propiedad BatteryFullTime devuelve la duración de la batería en segundos cuando está completamente cargada. Si este valor es desconocido, la propiedad devuelve el valor &HFFFFFFFF.


Ejemplo de la propiedad BatteryFullTime

En este ejemplo se muestra la duración total de la batería en horas y minutos. Para ejecutar este ejemplo, coloque un control SysInfo y un control CommandButton en un formulario. Pegue este código al evento Click del control CommandButton y ejecute el ejemplo.

Private Sub Command1_Click()
    ' Ejemplo de la propiedad BatteryLifeTime.
    If SysInfo1.BatteryLifeTime <> &HFFFFFFFF Then
        Dim TimeLeft As String
        Dim TimeTotal As String
        Dim temp
        temp = TimeSerial(0, 0, SysInfo1.BatteryLifeTime)
        TimeLeft = Format(temp, "h:mm")
        temp = TimeSerial(0, 0, SysInfo1.BatteryFullTime)
        TimeTotal = Format(temp, "h:mm")
        MsgBox TimeLeft & " tiempo restante del " & TimeTotal & " total."
    Else
        MsgBox "Imposible determinar el tiempo que queda de batería."
    End If
End Sub


BatteryLifePercent (Propiedad)

Devuelve el porcentaje de batería llena restante.

Sintaxis

objeto.BatteryLifePercent

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Valores

Los valores de la propiedad BatteryLifePercent son:

Valor | Descripción
0 - 100 | Porcentaje de carga de batería restante.
255 | El estado de la carga es desconocido.


Ejemplo de la propiedad BatteryLifePercent

En este ejemplo se utiliza un control ProgressBar en un formulario para mostrar el estado de la alimentación restante del sistema de baterías. Para ejecutar este ejemplo, coloque un control SysInfo, un control ProgressBar y un control Timer en un formulario. Pegue este código al evento Timer del control Timer. Establezca la propiedad Interval del control Timer a 5000 y ejecute el ejemplo.

Private Sub Timer1_Timer()
   If SysInfo1.BatteryLifePercent <> 255 Then
      ProgressBar1.Value = SysInfo1.BatteryLifePercent
      ProgressBar1.Enabled = True
   Else
      ProgressBar1.Value = 0
      ProgressBar1.Enabled = False
   End If
End Sub


BatteryLifeTime (Propiedad)

Devuelve una valor que indica la duración restante de la batería.

Sintaxis

objeto.BatteryLifeTime

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

La propiedad BatteryLifeTime devuelve la duración restante de la batería en segundos. Si la duración de la batería es desconocida, esta propiedad devuelve el valor &HFFFFFFFF.


Ejemplo de la propiedad BatteryLifeTime

En este ejemplo se muestra la duración restante de la batería en horas y minutos. Para ejecutar este ejemplo, coloque un control SysInfo y un control CommandButton en un formulario. Pegue este código en el evento Click del control CommandButton. Después ejecute el ejemplo.

Private Sub Command1_Click()
    ' Ejemplo de la propiedad BatteryLifeTime
    If SysInfo1.BatteryLifeTime <> &HFFFFFFFF Then
        Dim TimeLeft As String
        Dim TimeTotal As String
        Dim temp
        temp = TimeSerial(0, 0, SysInfo1.BatteryLifeTime)
        TimeLeft = Format(temp, "h:mm")
        temp = TimeSerial(0, 0, SysInfo1.BatteryFullTime)
        TimeTotal = Format(temp, "h:mm")
        MsgBox TimeLeft & "tiempo restante del " & TimeTotal & " total."
    Else
        MsgBox "Imposible determinar el tiempo restante de batería."
    End If
End Sub


BatteryStatus (Propiedad)

Devuelve un valor que indica el estado de carga de la batería.

Sintaxis

objeto.BatteryStatus

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Valores

Los valores de la propiedad BatteryStatus son:

Valor | Descripción
1 | La carga de la batería es alta.
2 | La carga de la batería es baja.
4 | La carga de la batería es crítica.
8 | La batería se está cargando.
128 | El sistema no tiene batería.
255 | El estado de carga de la batería es desconocido.


Ejemplo de la propiedad BatteryStatus

En este ejemplo se actualiza un control Label cada vez que hay un cambio en el estado de la batería, de forma que la aplicación muestra la información del estado actual de la batería. Para ejecutar este ejemplo, coloque un control SysInfo y un control Label en un formulario. Pegue este código al evento PowerStatusChanged del control SysInfo. Después ejecute el ejemplo.

Private Sub SysInfo1_PowerStatusChanged()
   Select Case SysInfo1.BatteryStatus
      Case 1
         Label1.Caption = "Batería correcta "
      Case 2
         Label1.Caption = "Batería baja "
      Case 4
         Label1.Caption = "Batería crítica "
      Case 8
         Label1.Caption = "Batería cargándose"
      Case 128, 255
         Label1.Caption = "Sin estado de batería"
   End Select
End Sub


Index (Propiedad)

Devuelve o establece el número que identifica únicamente un control de una matriz de controles. Sólo está disponible si el control forma parte de una matriz de controles.

Sintaxis

objeto[(número)].Index

La sintaxis de la propiedad Index consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
número | Expresión numérica que da como resultado un entero que identifica un control dentro de la matriz de controles.

Valores

Los valores de número son:

Valor | Descripción
Sin valor | (Predeterminado) No forma parte de una matriz de controles.
0 a 32.767 | Elemento de una matriz de controles. Especifica un entero mayor o igual que 0, que identifica un control de una matriz de controles. Todos los controles de una matriz tienen la misma propiedad Name. Visual Basic asigna automáticamente el siguiente entero disponible en la matriz de controles.

Comentarios

Puesto que los elementos de una matriz de controles comparten el mismo valor de la propiedad Name, debe emplear la propiedad Index en el código para especificar un control en particular de la matriz. Index debe aparecer como un entero (o una expresión numérica que dé como resultado un entero), entre paréntesis junto al nombre de la matriz de controles, por ejemplo, MisBotones(3). También puede usar el valor de la propiedad Tag para distinguir un control de otro en una matriz de controles.

Cuando un control de la matriz reconoce que se ha producido un evento, Visual Basic llama al procedimiento de evento de la matriz de controles y le pasa el valor de Index aplicable como argumento adicional. Esta propiedad también se utiliza para crear controles dinámicamente en tiempo de ejecución con la instrucción Load o para quitarlos con la instrucción Unload.

Aunque Visual Basic asigna, de forma predeterminada, el siguiente entero disponible como valor de la propiedad Index de un nuevo control de una matriz, puede modificar este valor asignado y saltar enteros. También puede establecer Index a un entero distinto de 0 para el primer control de la matriz. Si hace referencia en el código a un valor de Index que no identifica uno de los controles de la matriz, se produce un error de ejecución de Visual Basic.

Nota Para quitar un control de una matriz, cambie el valor de la propiedad Name del control y elimine el valor de la propiedad Index del control.


Left (Propiedad)

Devuelve o establece la distancia entre el borde izquierdo interno de un objeto y el borde izquierdo de su contenedor.

Sintaxis

objeto.Left [= valor]

La sintaxis de la propiedad Left consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Expresión numérica que especifica la distancia.

Comentarios

Para un control, la propiedad Left siempre se expresa en las unidades del sistema de coordenadas de su contenedor. Los valores de estas propiedades cambian cuando el usuario o el código mueven el objeto.


Name (Propiedad)

Devuelve el nombre utilizado en el código para identificar un control SysInfo.

Sintaxis

objeto.Name

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a. Si se omite objeto, se asume como objeto el formulario asociado con el módulo del formulario activo.

Comentarios

El nombre predeterminado para los objetos nuevos es el tipo de objeto más un entero único. Por ejemplo, el primer objeto Form nuevo es Form1, un nuevo control SysInfo es SysInfo1 y el tercer control TextBox creado en un formulario es Text3.

La propiedad Name de un objeto debe comenzar con una letra y puede tener un máximo de 40 caracteres. Puede incluir números y caracteres de subrayado (_), pero no puede incluir caracteres de puntuación ni espacios. Los formularios no pueden tener el mismo nombre que otro objeto público como Clipboard, Screen o App. Aunque el valor de la propiedad Name puede ser una palabra clave, nombre de propiedad o el nombre de otro objeto, esto puede crear conflictos en el código.

Puede crear una matriz de controles del mismo tipo si establece la propiedad Name al mismo valor. Por ejemplo, cuando establece el nombre de todos los botones de opción de un grupo a MiOpc, Visual Basic asigna valores únicos a la propiedad Index de cada control para distinguirlo de los demás en la matriz. Dos controles de tipos diferentes no pueden compartir el mismo nombre.


OSBuild (Propiedad)

Devuelve un valor que proporciona información acerca del sistema operativo en el que se está ejecutando la aplicación. No está disponible en tiempo de diseño.

Sintaxis

objeto.OSBuild

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.


OSPlatform (Propiedad)

Devuelve un valor que identifica el sistema operativo en el que se está ejecutando la aplicación. No está disponible en tiempo de diseño.

Sintaxis

objeto.OSPlatform

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Valores devueltos

La propiedad OSPlatform devuelve estos valores:

Valor | Descripción
0 | Win32s
1 | Windows 95
2 | Windows NT


Ejemplo de la propiedad OSPlatform

En este ejemplo se muestra el sistema operativo actual y el número de versión. Para ejecutar este ejemplo, coloque un control SysInfo y un control CommandButton en un formulario. Pegue el ejemplo a la sección Declaraciones del formulario, ejecute el proyecto y haga clic en el control CommandButton.

Private Sub Command1_Click()
   Dim MsgEnd As String
   Select Case SysInfo1.OSPlatform
      Case 0
         MsgEnd = "Sin identificar"
      Case 1
         MsgEnd = "Windows 95, versión " & CStr(SysInfo1.OSVersion)
      Case 2
         MsgEnd = "Windows NT, versión " & CStr(SysInfo1.OSVersion)
   End Select
   MsgBox "Sistema: " & MsgEnd
End Sub


OSVersion (Propiedad)

Devuelve un valor que identifica la versión del sistema operativo en el que se está ejecutando la aplicación. No está disponible en tiempo de diseño.

Sintaxis

objeto.OSVersion

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.


Ejemplo de la propiedad OSVersion

En este ejemplo se muestra el sistema operativo actual y el número de versión. Para ejecutar este ejemplo, coloque un control SysInfo y un control CommandButton en un formulario. Pegue el ejemplo a la sección Declaraciones del formulario, ejecute el proyecto y haga clic en el control CommandButton.

Private Sub Command1_Click()
   Dim MsgEnd As String
   Select Case SysInfo1.OSPlatform
      Case 0
         MsgEnd = "Sin identificar"
      Case 1
         MsgEnd = "Windows 95, versión " & CStr(SysInfo1.OSVersion)
      Case 2
         MsgEnd = "Windows NT, versión " & CStr(SysInfo1.OSVersion)
   End Select
   MsgBox "Sistema: " & MsgEnd
End Sub


ScrollBarSize (Propiedad)

Devuelve la medida del sistema en twips para el ancho de una barra de desplazamiento.

Sintaxis

objeto.ScrollBarSize

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.


Tag (Propiedad)

Devuelve o establece una expresión que almacena información extra necesaria para el programa. A diferencia de otras propiedades, Visual Basic no utiliza el valor de la propiedad Tag; puede usar esta propiedad para identificar objetos.

Sintaxis

objeto.Tag

objeto.Tag [= expresión]

La sintaxis de la propiedad Tag consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
expresión | Expresión de cadena que identifica el objeto. El valor predeterminado es una cadena de longitud cero ("").

Comentarios

Puede usar esta propiedad para asignar una cadena de identificación a un objeto sin afectar a los demás valores de la propiedad ni causar efectos secundarios.


Top (Propiedad)

Devuelve o establece la distancia entre el borde superior interno de un objeto y el borde superior de su contenedor.

Sintaxis

objeto.Top [= valor]

La sintaxis de la propiedad Top consta de las partes siguientes:

Parte | Descripción
objeto | Expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Expresión numérica que especifica la distancia.


WorkAreaHeight (Propiedad)

Devuelve la altura del escritorio visible ajustado a la barra de tareas de Windows 95. No está disponible en tiempo de diseño.

Sintaxis

objeto.WorkAreaHeight

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Cuando la barra de tareas aparece a lo largo de la parte superior o inferior de la pantalla, la propiedad WorkAreaHeight indica la altura del escritorio visible menos la altura de la barra de tareas.


Ejemplo de la propiedad WorkAreaHeight

En este ejemplo se comprueba el tamaño del formulario activo después de un cambio en la resolución de la pantalla y se ajusta el tamaño del formulario si rebasa la zona visible de la pantalla. Para ejecutar este ejemplo, coloque un control SysInfo en un formulario. Pegue este código al evento DisplayChanged del control SysInfo. Ejecute el ejemplo y cambie la resolución de la pantalla.

Private Sub SysInfo1_DisplayChanged()
    If Screen.ActiveForm.Width > SysInfo1.WorkAreaWidth Then
        Screen.ActiveForm.Left = SysInfo1.WorkAreaLeft
        Screen.ActiveForm.Width = SysInfo1.WorkAreaWidth
    End If
    If Screen.ActiveForm.Height > SysInfo1.WorkAreaHeight Then
        Screen.ActiveForm.Top = SysInfo1.WorkAreaTop
        Screen.ActiveForm.Height = SysInfo1.WorkAreaHeight
    End If
End Sub


WorkAreaLeft (Propiedad)

Devuelve la coordenada del borde izquierdo del escritorio visible ajustada a la barra de tareas de Windows 95. No está disponible en tiempo de diseño.

Sintaxis

objeto.WorkAreaLeft

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.


Ejemplo de la propiedad WorkAreaLeft

En este ejemplo se comprueba el tamaño del formulario activo después de un cambio en la resolución de la pantalla y se ajusta el tamaño del formulario si rebasa la zona visible de la pantalla. Para ejecutar este ejemplo, coloque un control SysInfo en un formulario. Pegue este código al evento DisplayChanged del control SysInfo. Ejecute el ejemplo y cambie la resolución de la pantalla.

Private Sub SysInfo1_DisplayChanged()
    If Screen.ActiveForm.Width > SysInfo1.WorkAreaWidth Then
        Screen.ActiveForm.Left = SysInfo1.WorkAreaLeft
        Screen.ActiveForm.Width = SysInfo1.WorkAreaWidth
    End If
    If Screen.ActiveForm.Height > SysInfo1.WorkAreaHeight Then
        Screen.ActiveForm.Top = SysInfo1.WorkAreaTop
        Screen.ActiveForm.Height = SysInfo1.WorkAreaHeight
    End If
End Sub


WorkAreaTop (Propiedad)

Devuelve la coordenada del borde superior del escritorio visible ajustada a la barra de tareas de Windows 95. No está disponible en tiempo de diseño.

Sintaxis

objeto.WorkAreaTop

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.


Ejemplo de la propiedad WorkAreaTop

En este ejemplo se comprueba el tamaño del formulario activo después de un cambio en la resolución de la pantalla y se ajusta el tamaño del formulario si rebasa la zona visible de la pantalla. Para ejecutar este ejemplo, coloque un control SysInfo en un formulario. Pegue este código al evento DisplayChanged del control SysInfo. Ejecute el ejemplo y cambie la resolución de la pantalla.

Private Sub SysInfo1_DisplayChanged()
    If Screen.ActiveForm.Width > SysInfo1.WorkAreaWidth Then
        Screen.ActiveForm.Left = SysInfo1.WorkAreaLeft
        Screen.ActiveForm.Width = SysInfo1.WorkAreaWidth
    End If
    If Screen.ActiveForm.Height > SysInfo1.WorkAreaHeight Then
        Screen.ActiveForm.Top = SysInfo1.WorkAreaTop
        Screen.ActiveForm.Height = SysInfo1.WorkAreaHeight
    End If
End Sub


WorkAreaWidth (Propiedad)

Devuelve el ancho del escritorio visible ajustado a la barra de tareas de Windows 95. No está disponible en tiempo de diseño.

Sintaxis

objeto.WorkAreaWidth

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Cuando la barra de tareas aparece a lo largo del borde izquierdo o derecho de la pantalla, la propiedad WorkAreaWidth indica el ancho del escritorio visible menos el ancho de la barra de tareas.


Ejemplo de la propiedad WorkAreaWidth

En este ejemplo se comprueba el tamaño del formulario activo después de un cambio en la resolución de la pantalla y se ajusta el tamaño del formulario si rebasa la zona visible de la pantalla. Para ejecutar este ejemplo, coloque un control SysInfo en un formulario. Pegue este código al evento DisplayChanged del control SysInfo. Ejecute el ejemplo y cambie la resolución de la pantalla.

Private Sub SysInfo1_DisplayChanged()
    If Screen.ActiveForm.Width > SysInfo1.WorkAreaWidth Then
        Screen.ActiveForm.Left = SysInfo1.WorkAreaLeft
        Screen.ActiveForm.Width = SysInfo1.WorkAreaWidth
    End If
    If Screen.ActiveForm.Height > SysInfo1.WorkAreaHeight Then
        Screen.ActiveForm.Top = SysInfo1.WorkAreaTop
        Screen.ActiveForm.Height = SysInfo1.WorkAreaHeight
    End If
End Sub