你是想靠什么条件(知道HWND 吗?知道PID吗?或者其他)来关闭其他应该程序?
知道的条件不同关闭方法也不同.

解决方案 »

  1.   

    function TFormRunWiz.KillTasK(ExeFileName: String): Boolean;
    var
        ContinueLoop: Boolean;
        FSnap: THandle;
        FProcessEntry32: TProcessEntry32;
    begin    Result := False;
        FSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
        if FSnap = -1 then
        begin
            MessageDLG('不能获得进程的句柄!',mtError,[mbOK],0);
            Exit;
        end;
        FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
        ContinueLoop := Process32First(FSnap,FProcessEntry32);    while ContinueLoop do
        begin        if Trim(FProcessEntry32.szExeFile) = Trim(ExtractFileName(ExeFileName)) then
                Result := Boolean(TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),FProcessEntry32.th32ProcessID),0));
            ContinueLoop := Process32Next(FSnap,FProcessEntry32);    end;
    end;
      

  2.   

    对不起,没看见你是VC++的,不过我这函数都是用API写的,应该有参考作用
      

  3.   

    有PID的话最简单。OpenProcess加TerminateProcess就可以了。
    有窗口HWND也简单。GetWindowThreadProcessId加OpenProcess加TerminateProcess就可以了。
    知道文件名用楼上的方法。