一个无名的人。。。
...在一个类似的论坛上,一个不知名的人发布了对另一个海报的回应,都是令人讨厌的大写字母。BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA的一个很长的段落...
我回复了这个-
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_event、MapVirtualKey和GetKeyState。
**** Hidden Message ***** 哈哈!真有趣!
嘿,顺便说一句,这很酷,你写了那个MP吗? 我用谷歌找到了几个链接。他们都没有完全按照我的想法工作,或者在XP下工作,但是当我去MSDN时,我知道我在寻找什么,这使我能够写我想要的东西。有趣的代码(在提供它的上下文中)但是它确实工作。
就垂直风格而言,我编写的VB类似于LISP。
:) 感谢代码位,这将是非常有用的。我正在考虑把它放入一个模块,当浏览器有焦点时,它将取消大写锁定。这应该可以防止我对每个人大喊大叫... 很高兴你能用它做点什么,基思。我把它作为一个笑话写了下来并贴了出去——当工作中的小伙子们发现它实际上很有用时,他们失去了它。无可否认,我们是一群奇怪的人。
:)
那时我发现我是最有趣的。我把它说了出来,笑得差点尿裤子!
Keith,这样每次你发短信的时候,DTEXT都会自动打开。 我可以做到...寻找一个整洁的小VBA应用程序,很快就会来到你附近的沼泽... 它在Firefox和Autocad中运行良好。那太好了。 你看到它在系统射线中放了一个小图标吗?要关闭应用程序,只需右键单击图标并选择EXIT,否则它将在后台运行。
在我的测试中观察到的总内存使用量在3到5 megs之间,虽然对于应用程序的大小来说有点高,但我认为大部分可以归因于在系统射线中运行所需的开销。 好吧,它在FireFox上运行良好,但在Autocad(实际上是基于R2002的LandDesktop3)上不起作用。
为电子邮件/新闻组客户端添加选项有多难?
页:
[1]
2