在VB.NET中不能用HOOK?不懂不要乱说。我有使用HOOK测试的源代码。所谓跨平台就是骗骗猪头的,不想还真会有人相信,你见过.NET FRAME在其他平台上运行吗?
以下是代码,自己测测看吧:
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As HookType, ByVal lpfn As HOOKPROC, ByVal hmod As Integer, ByVal dwThreadId As Integer) As Integer
'函数说明:本函数是用于启动Hook设置。
'idHook是Hook的类型,即处理的消息类型。
'Lpfn是Hook子程(函数或过程)的地址指针。如果dwThreadId参数为0或是一个由别的进程创建的线程的标识,lpfn必须指向DLL中的Hook子程。除此以外,lpfn可以指向当前进程的一段Hook子程代码(我们利用的就是这个性质)。
'hMod是应用程序实例的句柄,标识包含lpfn所指的子程的DLL。如果dwThreadId 标识当前进程创建的一个线程,而且子程代码位于当前进程,hMod必须为NULL。
'dwThreadId是与安装Hook子程相关联的线程的标识符,如果为0,Hook子程与所有的线程关联。 返回值:函数成功则返回Hook子程的句柄,失败返回NULL。