VB HOOK API
各位,请问钩子是怎么运行的啊?请先看看我写的代码:
Public hhook
Private Sub Command1_Click()
hhook = SetWindowsHookEx(2, AddressOf testhook, 0, App.ThreadID)
End Sub
以下的是放在模块内的代码:
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hhook As Long) As Long
Public Function testhook(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
MsgBox "运行到我了"
End Function
运行以上代码后,我只按了一下键盘,为什么会弹出2个对话框?当关闭第一个的时候 还会弹出一个,那样就一共弹出了3个“运行到我了”这是怎么回事?这个钩子是怎么运行的啊? 还有那个当我把以上代码msgbox "运行到我了" 换成msgbox ncode & wParam & lParam 的时候 为什么出现的是78,"310001",“-------”这种格式的字符呢? 怎么不是我键盘的按键字符呢?那要怎么转化成键盘上的字符?请各位指点一下
由于我刚学习这钩子,所以很多都不知道 ,也百度不到。希望大家帮帮我,原谅我问些基础问题。谢谢
你这只是简单的键盘钩子不算apihook
你要显示键盘的按键的话要转换
你后面的ncode的78就是你按下的键盘的acii码,转换了以后就可以了
78的对应值是N
钩子安装后,不用了,是需要卸载的.
.......还没把HOOK与HOOK API各是什
相关问答:
为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?
1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......
在做树型目录时出现的,以下是部分代码
VB code:
Function TreeMenu(id)
sql = "select * from Class where CateID=1"
rs.Open sql, cover, 1, 1
While Not rs.EOF
Response.Write rs(&quo ......
在VB中,如何执行下面的SQL语句
Update t_Icitem Set f_102 = IsNull(f_102,0)+1 Where FNumber='0001'
比如:
cn.execute("Update t_Icitem Set f_102 = IsNull(f_102,0)+1 Where FNumber= ......
这个程序是固定的,比如cmd.exe
打开CMD后,鼠标在CMD的标题栏可以点击右键和左键,弹出相应的菜单。
我要达到的目的是:无论是左击还是右击CMD的标题栏都不能弹出菜单。
或者能出现菜单也行,但只能出 ......