PostMessage(FindWindow('主窗体名',nil),WM_CLOSE,0,0);

解决方案 »

  1.   

    据程序名字找到其句柄,向其发送关闭消息。
    handle := FindWindow();
    SendMessage(handle,...);//消息参数为WM_CLOSE
      

  2.   

    if sfilename<>'sys.exe' then
               TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),iProcessID),0);   //杀死该进程
      

  3.   

    看看这个函数行不?
     
       function KillTask(ExeFileName: string): integer;
    const
      PROCESS_TERMINATE=$0001;
    var
      ContinueLoop: BOOL;
      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
      begin
        if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
             UpperCase(ExeFileName))
         or (UpperCase(FProcessEntry32.szExeFile) =
             UpperCase(ExeFileName))) then
          Result := Integer(TerminateProcess(OpenProcess(
                            PROCESS_TERMINATE, BOOL(0),
                            FProcessEntry32.th32ProcessID), 0));
        ContinueLoop := Process32Next(FSnapshotHandle,
                                      FProcessEntry32);
      end;
        end;