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各是什
相关问答:
Private Sub Command1_Click()
On Error Resume Next
Dim Buffer As String
Buffer = Space(MAX_PATH)
rtn = GetWindowsDirectory(Buffer, Len(Buffer))
WinPath = Left(Buffer, rtn)
Dim Use ......
INSERT INTO StudAchieve(studID,studName)
VALUES('2','abc'),('2','bcd'),('2','cde')
拼了半天也不对,及啊 。。。。
SQL c ......
在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= ......
我用Delphi写了一个DLL, DLL里有MDI的子窗体,DLL初始化时 传递调用者的TApplication给DLL, 在Delphi7中调用已经通过,但是不知道在VB中有无TApplication对应类型, 是否能在VB中调用?
你好,用instance不是就可以了 ......