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各是什
相关问答:
INSERT INTO StudAchieve(studID,studName)
VALUES('2','abc'),('2','bcd'),('2','cde')
拼了半天也不对,及啊 。。。。
SQL c ......
SELECT Count(*) from In_fo WHERE Reader_Time between #" + time1 + "# AND #" + time2 + "# and id=" + userid + ";
上面是我写的sql语句 Reader_Time是时间类型 id为数字 ......
我用VB调用Word 嵌入VB窗体中(这些都是正常)
然后在桌面打开另一个word a.doc
现在问题出来了.....我关闭VB窗体,之前的那个word也正常关闭了
接下来闭关a.doc 会出现问题
我调用的w ......
我想写一个asp读取本地机子的网瞳的功能,需要用vb写一个dll 在网上找了一下,把下面的段拷入vb工程里:
Option Explicit
Private Const NCBASTAT = &H33
Private Const NCBNAMSZ = 16
Private ......
这个程序是固定的,比如cmd.exe
打开CMD后,鼠标在CMD的标题栏可以点击右键和左键,弹出相应的菜单。
我要达到的目的是:无论是左击还是右击CMD的标题栏都不能弹出菜单。
或者能出现菜单也行,但只能出 ......