我在函数中用到了settime主线程中直接调用能够创建成功,我用注入工具远程注入执行就失败,这是什么问题,我要怎么解决,有说绑定到主线程中执行,不知道还有没有别的办法,不知道绑定到主线程中执行又要怎么做?

解决方案 »

  1.   

    timer需要消息链的支持
    远程的话,在自己的线程里判断时间,然后再修改远程线程
      

  2.   

    注入的远程线程必须是UI线程,否则没有办法使用timer
      

  3.   

    线程中控制时间用while(1) + Sleep() 感觉蛮好的  
      

  4.   

    timeEvent, 
    #include <MMSystem.h>
      

  5.   

    如果光靠进程解析获得到的句柄。
    光靠这个句柄HWND 是不可能操作这个进程中涉及到线程的函数。
    timer 本身就是一个线程 所以如果是你自己的程序 就发送 copydata 消息把。
    如果破坏别人的程序 就适合而止。
      

  6.   


    主程序
    OnCopyData && WM_COPYDATAstructobject obj;SetTimer(obj.timeid,obj.timespace,NULL);
      

  7.   

    问题找到了,其实注入dll的时候就已经是主线程了,只是我没注意,我在dll中又创建 了一个新线程来执行这个,所以调用不成功,现在改变一下不创建新线程就好了