我想在DLL中将调用自己的进程关闭掉,DLL的输出函数中没有传递此进程的任何消息,如何做呢???  

解决方案 »

  1.   

    TerminateProcess( GetCurrentProcess() , 0 );
      

  2.   

    如果有主窗口的话,从用户友好的角度看,最好是通过向主窗口发送close消息的方式关闭;否则如一楼所说,用api杀掉进程
      

  3.   

    var
      H: THandle;
      P: PDWord;
    begin
      H := Findwindow(NIL, Pchar(WindowTitle));    //获取窗体的handle
      if H <> 0 then
      begin
        new(P);
        GetWindowThreadProcessId(H, P);
        showmessage('当前结束进程的ID是:'+inttostr(P^)); //获取进程ID
        if P^ <> 0 then     // OpenProcess 获取进程的Handle   TerminateProcess结束进程
           TerminateProcess(OpenProcess(Process_Terminate, False, P^), 0);
      end;