怎样用一个程序终止任意一个另一个程序?怎样看见系统的全部进程?

解决方案 »

  1.   

    见《Delphi5开发人员指南》里面有详细代码。
      

  2.   

    hook之类的东东,没兴趣去研究
      

  3.   

    1. TerminateProcess(GetCurrentProcess{ 进程句柄 }, 0);
     TerminateProcess(
       OpenProcess(PROCESS_TERMINATE, False, GetCurrentProcessId), 0)
    2.uses TlHelp32;//...
    var
      vSnapshot: THandle;
      vProcessEntry32: TProcessEntry32;
      B: Boolean;
    begin
      vSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
      try
        vProcessEntry32.dwSize := SizeOf(TProcessEntry32);
        B := Process32First(vSnapshot, vProcessEntry32);
        while B do
        begin
          { TODO : 处理vProcessEntry32 }
          B := Process32Next(vSnapshot, vProcessEntry32);
        end;
      finally
        CloseHandle(vSnapshot);
      end;
    end;如果你想杀系统进程可以把老K的代码下来看看~~
    http://www.soulan.com/kingron/dispbbs.asp?BoardID=17&ID=141
      

  4.   

    我以前是这么用过不知道能否满足你的要求
    var
       hWndAppClose:HWnd;
    begin
       hWndAppClose:=FindWindow(……);//先获得要关闭的窗口的句柄
       if hWndAppClose<>0 then
          SendMessage(hWndAppClose,WM_CLOSE,0,0);//给要关闭的窗口发送一个close消息
    end;
      

  5.   

    我的意思是终止一个borland pascal编译的程序
    该程序源代码:
    program a1;
    var f : text;
        i,j : integer;
    begin
     for i := 1 to 1000 do
     for j := 1 to 1000 do
    begin
    end;
     assign(f,'a.out');
     rewrite(f);
     writeln(f,'a');
     close(f);
    end.
    若用句柄终止,会出现RuntimeError150