Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2006, 05:22
selma128
 
Fecha de Ingreso: diciembre-2003
Mensajes: 190
Antigüedad: 20 años, 6 meses
Puntos: 0
En un formulario añade 3 botones (cmdToggle, cmdTurnOff, cmdTurnOff) y una etiqueta y añade este codigo al formulario





Public Const VK_CAPITAL = &H14


Public Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type

Public kbArray As KeyboardBytes


Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long


Public Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long


Public Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long






Private Function CapsLock() As Integer
CapsLock = GetKeyState(VK_CAPITAL) And 1 = 1
End Function


Private Sub Form_Load()
If CapsLock() = 1 Then Label1 = "On" Else Label1 = "Off"
End Sub


Private Sub cmdToggle_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = IIf(kbArray.kbByte(VK_CAPITAL) = 1, 0, 1)
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub


Private Sub cmdTurnOn_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 1
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub


Private Sub cmdTurnOff_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "On", "Off")
End Sub