在窗体上放一个timer1,初始:Timer1.Enabled = False 以下代码可以让Caps Lock失去作用Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Public L Private Sub Form_Load() Me.KeyPreview = True Dim L As Long L = GetKeyState(vbKeyCapital) Timer1.Interval = 100 Timer1.Enabled = True End SubPrivate Sub Timer1_Timer() If L <> GetKeyState(vbKeyCapital) Then keybd_event vbKeyCapital, 0, 0, 0 keybd_event vbKeyCapital, 0, 2, 0 End If End Sub
有一行错了,去掉dim L as long,改为 Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Public L Private Sub Form_Load() Me.KeyPreview = True L = GetKeyState(vbKeyCapital) Timer1.Interval = 100 Timer1.Enabled = True End SubPrivate Sub Timer1_Timer() If L <> GetKeyState(vbKeyCapital) Then keybd_event vbKeyCapital, 0, 0, 0 keybd_event vbKeyCapital, 0, 2, 0 End If End Sub
以下代码可以让Caps Lock失去作用Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public L
Private Sub Form_Load()
Me.KeyPreview = True
Dim L As Long
L = GetKeyState(vbKeyCapital)
Timer1.Interval = 100
Timer1.Enabled = True
End SubPrivate Sub Timer1_Timer()
If L <> GetKeyState(vbKeyCapital) Then
keybd_event vbKeyCapital, 0, 0, 0
keybd_event vbKeyCapital, 0, 2, 0
End If
End Sub
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public L
Private Sub Form_Load()
Me.KeyPreview = True
L = GetKeyState(vbKeyCapital)
Timer1.Interval = 100
Timer1.Enabled = True
End SubPrivate Sub Timer1_Timer()
If L <> GetKeyState(vbKeyCapital) Then
keybd_event vbKeyCapital, 0, 0, 0
keybd_event vbKeyCapital, 0, 2, 0
End If
End Sub