以下是代码 一会说问题
procedure A.execute; 
begin 
  while not Terminated do 
  begin 
    Synchronize(AA); 
    sleep(1000); 
  end; 
end; 
procedure A.AA 
BEGIN 
            fun(@zc1,@id); //这个是注入的注册函数1
            sleep(1000);       //主要是用来等待注入完毕 如果第一个注入每执行完就注入第二个就会错误
            fun(@zc2,@ID); //这个是注入的注册函数2
            sleep(1000); 
            fun(@zc3,@ID); //这个是注入的注册函数3
            sleep(1000); 
END 
问题这个需要循环4次才能注册完毕(直到弹出成功对话框)  小弟如果不用 Synchronize(AA)用 AA(调用方法**:=a.create(false)) 不知道为什么这个就注入一次这个线程就死了 不再循环了  如果用这个 Synchronize(AA) 我的程序就假死了  我知道这是因为    Synchronize(AA); 这个函数让我这个在主线程执行 这么多sleep让主线程假死掉了   小弟想用waitforsingleobject()这个函数来代替sleep() 这样就不会假死了 可是小弟不知怎么用这个waitforsingleobject(**,INFINITE) 第一个参数怎么写呀? fun这个是注入的函数我用sleep 也是因为不知道被注入的程序什么时候能执行完我注入的函数  所以我认为我应该用 waitforsingleobject 可是就是不知道怎么返回注入执行完毕的事件 或者类似的东西 求大虾们出手相助啊!