如何在HOOK中获得某个进程的ID号?

CIT 2005-09-12 09:53:45
我想对某个制定的进程进行跟踪,但是使用CallWndProc类型的HOOK后,代码进入系统中所有进程中。我现在需要一段程序,对于HOOK所在进程加以判定,对于非目标进程不与执行后继代码。

目前已使用GetCurrentProcessId()得到所在进程ID,那么我怎么才能知道这是否是我的目标进程?

望高人指点!
...全文
267 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelyeagle 2005-10-17
  • 打赏
  • 举报
回复
在你的进程中用CreateWindow创建一个窗体,窗体类名为MyWndClass,标题为MyWndText

在你的hook中用FindWindow(MyWndClass,MyWndText)找到这个窗体的句柄hWnd,
然后用GetWindowThreadProcessId(hWnd,&dwMyProcessId);就可以在dwMyProcessId中找到你的
进程的ID了。
VxD1 2005-10-17
  • 打赏
  • 举报
回复
我想对某个制定的进程进行跟踪,但是使用CallWndProc类型的HOOK后,代码进入系统中所有进程中。我现在需要一段程序,对于HOOK所在进程加以判定,对于非目标进程不与执行后继代码。

目前已使用GetCurrentProcessId()得到所在进程ID,那么我怎么才能知道这是否是我的目标进程?

>>你在使用SetWindowHookEx函数时指令最后一个参数为线程id,这样就只会注入到特定进程中去,你将会用到FindWindow(),GetWindowThreadProcessId()
CIT 2005-09-12
  • 打赏
  • 举报
回复
楼上的大哥能不能举几个用到着的API?关于获取进程信息的。感谢!!!
long_xing 2005-09-12
  • 打赏
  • 举报
回复
那就要看你的目标进程有什么特点,比如窗口的标题,程序的路径等,一些特别的信息,用钩子在其所在的进程中获取当前进程的信息,然后与你想要的进程的特殊标志进行比较。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧