怎么把VB的DLL注入到其它进程中,还监视线程。设置勾子

zhuangbx220 zhuangbx220 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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注入到其它进程中,还监视线程。设置勾子
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
zhuangbx220
API 1,488 成员 23,270 内容