获取大写锁定键状态

Public   Declare   Function   GetKeyState   Lib   "user32"   Alias   "GetKeyState"   (ByVal   nVirtKey   As   Integer)   As   Integer  
   
   
  '取键盘Caps   Lock键的状态  
  If   (GetKeyState(&H14)   And   1   =   1)   Then  
                          Me.Text   =   "灯亮"  
                  Else  
                          Me.Text   =   "灯灭"  
                  End   If

&H14  
  换成  
  &H91  
  就是  
  Scroll   Lock键的状态,  
   
  换成&H90就是  
  Num   Lock的状态.


Private Declare Function GetAsyncKeyState Lib "user32" (ByVal VKEY As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Const VK_CAPITAL = &H14
Public Function CapsLockOn() As Boolean
    Static bInit As Boolean
    Static bOn As Boolean
    If Not bInit Then
        While GetAsyncKeyState(VK_CAPITAL)
        Wend
        bOn = GetKeyState(VK_CAPITAL)
        bInit = True
    Else
        If GetAsyncKeyState(VK_CAPITAL) Then
            While GetAsyncKeyState(VK_CAPITAL)
                DoEvents
            Wend
            bOn = Not bOn
        End If
    End If
    CapsLockOn = bOn
End Function
posted @ 2008-03-06 21:53  sobaby  阅读(762)  评论(0)    收藏  举报