以下引用yangff于2008-8-31 13:31:23的发言:
VB版本有,通过api+dll。我希望又能人用ruby使用这个dll(底层Hook)
dll:不猛击的是SB
本帖相关代码如下:
Option Explicit
Private Declare Function StartMaskKey Lib "MaskKey" (lpdwVirtualKey As Long, ByVal nLength As Long, ByVal lpfnKeyboarProc As Long, Optional ByVal bDisableKeyboard As Boolean = False) As Long
Private Declare Function StopMaskKey Lib "MaskKey" () As Long
Private Sub cmdStartMask_Click()
' 屏蔽 A, B, C, 上, 下, 左, 右及两个win键
Dim key(8) As Long
key(0) = vbKeyA
key(1) = vbKeyB
key(2) = vbKeyC
key(3) = vbKeyLeft
key(4) = vbKeyRight
key(5) = vbKeyUp
key(6) = vbKeyDown
key(7) = &H5B ' 左边的win键
key(8) = &H5C ' 右边的win键
StartMaskKey key(0), UBound(key) + 1, AddressOf KeyboardProc
End Sub
Private Sub cmdStopMask_Click()
StopMaskKey
End Sub
本帖相关代码如下:
Option Explicit
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const WM_SYSKEYDOWN = &H104
Private Const WM_SYSKEYUP = &H105
Public Type KBDLLHOOKSTRUCT
vkCode As Long ' 虚拟按键码(1--254)
scanCode As Long ' 硬件按键扫描码
flags As Long ' flags
time As Long ' 消息时间戳
dwExtraInfo As Long ' 额外信息
End Type
Public Enum KEYACTION
ACTION_KEYDOWN = WM_KEYDOWN
ACTION_KEYUP = WM_KEYUP
ACTION_SYSKEYDOWN = WM_SYSKEYDOWN
ACTION_SYSKEYUP = WM_SYSKEYUP
End Enum
' 全局键盘钩子回调函数
' 参数: action 标识键盘消息(按下,弹起), keyStruct 包含按键信息
Public Function KeyboardProc(ByVal action As KEYACTION, keyStruct As KBDLLHOOKSTRUCT) As Boolean
Select Case action
Case ACTION_KEYDOWN
Debug.Print keyStruct.vkCode, "按下键盘按键"
Case ACTION_KEYUP
Debug.Print keyStruct.vkCode, "弹起键盘按键"
Case ACTION_SYSKEYDOWN
Case ACTION_SYSKEYUP
End Select
' 返回 True 表示继续传递按键消息
' 返回 False 表示结束按键消息传递
KeyboardProc = False
End Function
以下引用沉影不器于2008-9-2 13:41:58的发言:
我没学多少vb,只知道vb做的dll不像c那么方便,似乎不能输出函数
具体您可以搜索"vb 输出函数",好像vb5.0时期有个老外弄出个vb输出函数的办法
如果输出,那么就跟api调用没两样了
以下引用然风于2008-9-2 14:41:06的发言:
VB貌似可以输出函数。。 VB很强大的。。老版本的魔兽争霸的底层数据架构就是用的VB。。。不是某些人说的JAVA和c++
PS:龙轩 你的签名那个“小宝宝” 是 五毒兽 。。。。。你要是觉的可爱 完全可以拿去煮了吃吧!!
以下引用沉影不器于2008-9-3 16:07:12的发言:
似乎用到回调函数了...
rm里头回调函数怎么用来着?半年前我就想用回调写个调出用户字体的东西,可是回调这玩意儿在rm里怎么用呢
以下引用龙轩于2008-9-1 20:34:11的发言:
你可以适当的修改你下你自己的dll
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |