现在在listbox中列出了系统当前进程,当我选中一个,并按button1时,进程被结束,请指教(在windows2000下)

解决方案 »

  1.   

    uses一下Tlhelp32
    function killTask(Exefilename:String):integer;
    const
      PROCESS_TERMINATE=$0001;
    var
      ContinueLoop:Boolean;
      FsnapshotHandle:THandle;
      FProcessEntry32:TProcessEntry32;
    begin
      Result:=0;
      FsnapshotHandle:=CreateToolhelp32SnapShot(Th32cs_snappRocess,0);
      FProcessEntry32.dwSize:=sizeof(FProcessEntry32);
      ContinueLoop:=Process32First(FsnapshotHandle,FProcessEntry32);
      while  integer(Continueloop)<> 0 do
        if ((UpperCase(Extractfilename(FProcessEntry32.szExeFile))=uppercase(exefilename))or
        (upperCase(FprocessEntry32.szExefile)=UpperCase(Exefilename))) then
        begin
          showmessage('');
          TerminateProcess(openProcess(Process_TERMINATE,bool(0),FprocessEntry32.th32ProcessID),0);
          break;
        end
        else
        Continueloop:=Process32Next(FsnapshotHandle,FprocessEntry32);
      end;
    end;
    把进程名传近来就行了
      

  2.   

    强制结束进程TerminateProcess(phwnd, 0),返回Boolean值。
      

  3.   

    结束一个进程
    TerminateProcess (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
    hProcess Long,指定要中断的一个进程的句柄 
    uExitCode Long,进程的一个退出代码 
      

  4.   

    Wnd:=FindWindow(nil,ProcWinCaption);
    PostMessage(Wnd,WM_CLOSE,0,0);
    example:
     QQWnd:=FindWindow(nil,pchar('QQ登陆窗口'));
     PostMessage(QQWnd,WM_CLOSE,0,0);
    这样QQ就被关了