试图用自己编写的程序附加到其它程序的进程的线程中,比如说监视该客户端进程的消息,屏蔽相关消息等。
SetWindowsHookEx函数的第四个参数是用来指定钩子程序相关的线程的。 请问我如何获得非自己编写程序的线程?有相关直接的调用函数没?(我用的是VS2005) 
请各位达人指教,小弟初学。谢谢!

解决方案 »

  1.   

    你怎么确定想Hook哪个线程?假设有线程中某个窗口的句柄,可以GetWindowThreadProcessId得到线程ID。
      

  2.   

    谢谢楼上的两位达人,我刚刚在MSDN里面查看了一下GetWindowThreadProcessId这个函数,它的第二个参数不是要求知道指向进程的ID的指针么?怎么能够得到进程ID呢?
    我现在也不知道怎么去获取该程序的进程(如果该程序已经被双击打开了),更不知道怎么获取该程序的窗口句柄,那我应该怎么才能实现对.exe文件的进程的消息获取呢?
    哪位达人能够说一下具体的思路和相关的一些主要的函数?谢谢赐教!
      

  3.   

    第2个参数是输出参数 不是传入参数
    DWORD dwThreadID;
    GetWindowThreadProcessId( hWnd, &dwThreadID);
      

  4.   

    哦,MSDN里面没看清楚,标了个out没注意。那我再考虑考虑怎么获取该窗口句柄,thanks!