如题。怎样获取主线程的ID?

解决方案 »

  1.   

    我想获取某应用程序 主线程的ID,然后用DLL写一个HOOK程序,屏蔽这个应用程序接收的鼠标消息。这想法可行吗?
      

  2.   

    用远程线程注入DLL,然后hook GetMessage,PeekMessage之类的函数吧
      

  3.   

    不过,你最好在进程一启动的时候就HOOK,不然,进程有可能会崩溃。
      

  4.   

    如果是控制台程序呢 显然就不行了 现在理论方法
    1简单点可以 枚举线程 然后获取线程的时间一些信息 最早启动的肯定是主线程
    2稍微严谨点 可以获取线程的teb 里面有个InitialThread位应该就是表示初始化线程 不过至于如何较正确获取teb 我就先不说了
      

  5.   

    可以实现屏蔽指定的应用程序了,但可惜我的问题还没有解决。
    情况是这样的:在电脑接投影机的时候,Stereoscopic Player 3D播放器一但全屏就会自动投影到投影机上,但一点击桌面上任何地方,播放器都会退出全屏。
    现在就是想播放器在全屏投影播放时,我还可以操作桌面上的东西。就算用HOOK屏蔽了所有线程,这问题还不能解决。
    你们有什么办法吗?
      

  6.   

    只要知道句柄通过“GetWindowThreadProcessId”就可以了。
    如果是控制台程序用“GetConsoleWindow”获取句柄。