我使用erminateprocess,似乎不是很好用。
有其他方法吗。
另问:
shellExecute和createprocess有何不同?

解决方案 »

  1.   

    terminateprocess不好用的原因是,你没有相应的进程操作权限shellExecute与CreateProcess都是执行应用程序的函数!前者的函数比较简单,功能也相对单一!
    而后者的函数比较复杂,但可以对一个进程进行详细的控制,如指定进程的优先级!指定进程的安全属性等!
      

  2.   

    procedure TfrmMain.FormDestroy(Sender: TObject);
    var
      P:DWORD;
    begin
      //杀掉自己的线程
      GetWindowThreadProcessId(application.Handle ,@P);
      if P<>0 then
        TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,P),$FFFFFFFF);
    end;