我想实现退出应用程序时,判断是否另外一个进程是否存在,如果存在把该进程杀掉,该如何实现,解决后,立即给分

解决方案 »

  1.   


    var
    HWndguan: HWnd;
    begin
      HWndguan :=winprocs.FindWindow(nil, '应用程序窗口的名字');
      if HWndguan <> 0 then
      begin
        SendMessage(HWndguan, WM_CLOSE, 0, 0);
        showmessage('关闭另一个应用程序');
      end; 
      

  2.   

    uses TLHelp32;procedure TForm1.Button1Click(Sender: TObject);
    var
      vSnap: THandle;
      vProcessEntery: TProcessEntry32;
      vBuffer: array[0..MAX_PATH] of Char;
      vHandle: THandle;
    begin
      vSnap := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
      try
        if vSnap < 0 then Exit;
        vProcessEntery.dwSize := SizeOf(vProcessEntery);    if Process32First(vSnap, vProcessEntery) then
          repeat
            if SameText(vProcessEntery.szExeFile, 'QQ.exe') then
            begin
              vHandle := OpenProcess(PROCESS_TERMINATE,
                False, vProcessEntery.th32ProcessID);
              try
                TerminateProcess(vHandle, 0);
              finally
                CloseHandle(vHandle);
              end;
            end;
          until not Process32next(vSnap, vProcessEntery);
      finally
        CloseHandle(vSnap);
      end;
    end;
      

  3.   

    OK,多谢,zswangII(伴水清清)(一贴不灌,何以灌天下?),成功了
    to; yq3woaini(hahhajing(一星奋斗中...)),你的好象实现不了啊