... 在一个类似未命名的论坛上,贴出了对另一张海报的回复,都是令人讨厌的大写字母
一段很长的话,我的回答是--
- Private Declare Sub keybd_event _
- Lib "user32" _
- (ByVal virtualKeyCode As Byte, _
- ByVal stubbed As Byte, _
- ByVal flags As Long, _
- ByVal pointerToExtraInfo As Long)
- Private Declare Function MapVirtualKey _
- Lib "user32" _
- Alias "MapVirtualKeyA" _
- (ByVal virtualKeyCode As Long, _
- ByVal translate As Long) _
- As Long
- Private Declare Function GetKeyState _
- Lib "user32" _
- (ByVal virtualKeyCode As Long) _
- As Long
-
- Private Const _
- VKC_CAPSLOCK = &H14, _
- TRANSLATE_TO_SCANCODE = 0, _
- SCANF_KEYUP = &H2, _
- SCANF_KEYEXT = &H1, _
- SCANF_KEYNOTEXT = &H0, _
- NULL_POINTER = 0
-
- Sub StopShouting()
- If (GetKeyState(VKC_CAPSLOCK) And 1) Then
- Call keybd_event( _
- VKC_CAPSLOCK, _
- MapVirtualKey(VKC_CAPSLOCK, TRANSLATE_TO_SCANCODE), _
- SCANF_KEYEXT Or SCANF_KEYNOTEXT, _
- NULL_POINTER)
- Call keybd_event( _
- VKC_CAPSLOCK, _
- MapVirtualKey(VKC_CAPSLOCK, TRANSLATE_TO_SCANCODE), _
- SCANF_KEYEXT Or SCANF_KEYUP, _
- NULL_POINTER)
- End If
- End Sub
- Sub Main()
- Call StopShouting
- End Sub
一个人给我发了一封电子邮件,“;不要听起来比我现在更愚蠢…所有这些编码的东西意味着什么&引用
真实的故事
顺便说一句,如果你好奇的话……keybd_事件,MapVirtualKey和GetKeyState。
|