怎么把VB的DLL注入到其它进程中,还监视线程。设置勾子
Option Explicit
'Model模块
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
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
Global hHook&
Public Function HookProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
HookProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
End Function
'*************************************************************
Option Explicit
'FORM模块
Public Enum HookType
WH_KEYBOARD = 2
WH_MOUSE = 7
End Enum
''''''''''''''''''钩子'''''''''''''''''''''''''''''''''''''''''''''''''
Function HookOn(ByVal lpType As HookType, ByVal hThread As Long) As Long
If hHook <> 0 Then HookOff
hHook = SetWindowsHookEx(ByVal lpType, AddressOf HookProc, App.hInstance, hThread) '为另一进程的线程ID
HookOn = hHook
End Function
Sub HookOff()
UnhookWindowsHookEx hHook
hHook = 0
End Sub
'我设置的是键盘勾子,能设置成功
'但是,在另一进程的线程窗体中点击键盘时,应该进程出错了。
'VB不能跨进程设置勾子吗?
'在VB6 + WIN 2000环境中使用
'怎么把VB的DLL注入到其它进程中,还监视线程。设置勾子