UTILIZACIÓN DE ALGUNAS API'S DE WINDOWS EN VISUAL BASIC

SystemParametersInfo (Devuelve y establece parámetros del sistema de Windows) API
'Código para el Modulo
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long
Declare Function SystemParametersInfoByval Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

Public Const SPI_GETSCREENSAVEACTIVE = 16 'Indica si el salvapantallas esta activo
Public Const SPI_GETSCREENSAVETIMEOUT = 14 'Indica el intervalo de tiempo del salvapantallas
Public Const SPI_GETKEYBOARDDELAY = 22 'Devuelve la demora de repeticion del teclado
Public Const SPI_GETKEYBOARDSPEED = 10 'Devuelve la velocidad de repeticion del teclado
Public Const SPI_GETLOWPOWERACTIVE = 83 'Devuelve si esta activo el ahorro de energia (solo W95 o sup.)
Public Const SPI_GETLOWPOWERTIMEOUT = 79 'Devuelve el intervalo de tiempo del ahorro de energia (solo W95 o sup.) en segundos
Public Const SPI_GETPOWEROFFACTIVE = 84 'Devuelve si esta activo el modo de apagado de pantalla (solo W95 o sup.)
Public Const SPI_GETPOWEROFFTIMEOUT = 80 'Devuelve el intervalo de tiempo del apagado de pantalla (solo W95 o sup.) en segundos

Public Const SPI_GETWORKAREA = 48 'Devuelve el tamaño del area de trabajo
Type RECTL
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type
Global AreaTrabajoPantalla As RECTL

'Código para el procedimiento
Dim CadenaResultante As Long
Dim ValorRetornoI As Integer
Dim ValorRetornoL As Long

CadenaResultante = SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, ValorRetornoI, 0)
If ValorRetornoI = 1 Then
   Print "Protector de pantalla activado"
Else
   Print "Protector de pantalla desactivado"
End If

CadenaResultante = SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, ValorRetornoI, 0)
Print "El protector de pantalla se ejecuta a los : " & ValorRetornoI / 60 & " minutos"

CadenaResultante = SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, ValorRetornoL, 0)
Print "La demora de repeticion del teclado es : " & ValorRetornoL

CadenaResultante = SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, ValorRetornoL, 0)
Print "La velocidad de repeticion del teclado es : " & ValorRetornoL

CadenaResultante = SystemParametersInfo(SPI_GETLOWPOWERACTIVE, 0, ValorRetornoL, 0)
If ValorRetornoL = 1 Then
   CadenaResultante = SystemParametersInfo(SPI_GETLOWPOWERTIMEOUT, 0, ValorRetornoL, 0)
   Print "Se activa el ahorro de energia de pantalla a los : " & ValorRetornoL / 60 & " minutos"
Else
   Print "El ahorro de energia de pantalla esta desactivado"
End If

CadenaResultante = SystemParametersInfo(SPI_GETPOWEROFFACTIVE, 0, ValorRetornoL, 0)
If ValorRetornoL = 1 Then
   CadenaResultante = SystemParametersInfo(SPI_GETPOWEROFFTIMEOUT, 0, ValorRetornoL, 0)
   Print "Se activa el apagado de pantalla a los : " & ValorRetornoL / 60 & " minutos"
Else
   Print "El apagado de pantalla esta desactivado"
End If

CadenaResultante = SystemParametersInfo(SPI_GETWORKAREA, 0, AreaTrabajoPantalla, 0)
Print "La pantalla superior del area de trbajo es : " & AreaTrabajoPantalla.Top
Print "La pantalla izquierda del area de trbajo es : " & AreaTrabajoPantalla.Left
Print "La altura total del area de trbajo es : " & AreaTrabajoPantalla.Bottom
Print "La anchura total del area de trbajo es : " & AreaTrabajoPantalla.Right

ShowCursor (Esconde el cursor del mouse) API
'Código para el Modulo
Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long

'Código para el procedimiento
Dim CadenaResultante As Long

'Esconde el cursor del mouse
CadenaResultante = ShowCursor(False)

'Muestra el cursor del mouse
CadenaResultante = ShowCursor(True)

waveOutGetNumDevs (Determina si hay targeta de sonido) API
'Código para el Modulo
Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long

'Código para el procedimiento
Dim CadenaResultante As Integer
CadenaResultante = waveOutGetNumDevs()
If CadenaResultante > 0 Then
   MsgBox "Posee targeta de sonido"
Else
   MsgBox "No Posee targeta de sonido"
End If