MY.COMPUTER.KEYBOARD.CAPSLOCK

MKING 24/09/2009 10:54:26
#323567
Alguém sabe como eu valido essa condição?
Ela só entra no On...

If My.Computer.Keyboard.CapsLock = True Then
MsgBox ([Ô]CAPS LOCK is on[Ô])
Else
MsgBox ([Ô]CAPS LOCK is off[Ô])
End If

!!!!!
JWCELYO 24/09/2009 12:54:30
#323574
  Public Declare Sub keybd_event Lib [Ô]user32[Ô] (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Declare Function GetKeyboardState Lib [Ô]user32[Ô] (ByVal pbKeyState As Byte) As Long


Public Const VK_CAPITAL = &H14
Public Const KEYEVENTF_EXTENDEDKEY = &H1
Public Const KEYEVENTF_KEYUP = &H2

Private Sub CAPSL()
keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)
keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
End Sub
TECLA 24/09/2009 13:12:40
#323577
Estranho!
Veja a rotina que postou em funcionamento (VS2008).


[S51]
MKING 24/09/2009 14:32:50
#323586
Robiu, testei sim e funcionou , agradeço, só havia esquecido de comentar

JWCELYO, agradeço pela dica enviada é essa mesma que o Robiu havia me indicado

TECLA, realmente aqui no vb6 não funfou, mas valew a tentativa

Utilizei a dica do Robiu mesmo para poder pegar o valor no form_load

GetKeyboardState keys(0)
CapsLockState = keys(VK_CAPITAL)
If CapsLockState = True Then
keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If

ai ele pega o valor inicial e se estiver ligado, desliga

valew a mobilização novamente
TECLA 24/09/2009 14:34:35
#323587
O código que postei é para VB.NET.
Tópico encerrado , respostas não são mais permitidas