我的程序mm.exe用CreateRemoteThread在其它进程中创建了一个远线程后就退出了,我想在下次运行程序mm.exe时,能自动将上次创建的远线程卸载,应该怎么做?谢谢!

解决方案 »

  1.   

    使用
    BOOL PostThreadMessage(
      DWORD idThread, // thread identifier
      UINT Msg,       // message
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    );
      

  2.   

    1,用广播消息
    你建立的远程线程要能够接收消息,接收到该消息后自动退出
    mm.exe则每次启动想关闭线程就广播消息。2,更简单的方法
    mm.exe和你的远程线程共同来处理一个文件,比如
    mmControl.ini
    [STATUS]
    THREAD_EXIT = 0 ;0,1,2
    第一次创建远程线程,设置为0
    需要关闭远程线程,设置为1总之软件的思路要开阔,不要只想着怎么调用ExitThread TerminateThread之类的,通过进程间的通讯来达到控制的目的
      

  3.   

    谢谢lhj!我也正打算用内存映射来实现进程间的通信。现在有个问题,就是在远线程中是一个耗时比较长的循环,所以在远线程中检测是否要求自己结束线程的信号总不能达到即时(即可能我在13:50做了要求远线程结束的标志,而远线程到13:52分才会运行到要检测这个标志的地方,中间有2分钟的时间差),进程间的通信能不能做到实时控制?请高手多提供思路!谢谢!我要研究研究“广播消息”。