找到那个进程,然后cut掉。好像以前的帖子就有类似的问题

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/95/95828.shtm
      

  2.   

     哦 ,具体如何找呢,是不是调用api呀,能说具体点么,谢谢!!!!!!
      

  3.   

    BCB代码:
    http://www.csdn.net/expert/topic/69/69297.shtm
    Delphi代码:
    http://www.csdn.net/expert/Topic/70/70670.shtm
      

  4.   

    1.可靠方法是找到那个进程,然后cut掉。
      可以使用这几个函数CreateToolHelp32Snapshot,Process32First,Process32Next查到该进程的ID号,再用这个函数OpenProcess和GetExitCodeProcess得到该进程的退出代码,然后再用
    TerminateProcess函数关闭这个进程。例子:关闭IEXPLORER.EXE.procedure TForm1.Button1Click(Sender: TObject);
    var
      ProcListhandle,CloseHandle:Thandle;
      ProcessStruct:TPROCESSENTRY32;
      Get:Boolean;
      ExitCode:Cardinal;
    begin
      ProcListhandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
      ProcessStruct.dwSize:=Sizeof(ProcessStruct);
      Get:=Process32First(ProcListhandle,ProcessStruct);
      ListBox1.Clear;
      while Get do
        begin
           ListBox1.Items.Add(ProcessStruct.szExeFile);
           IF (Extractfilename(ProcessStruct.szExeFile)='IEXPLORE.EXE')and(CloseIE=True) then
             begin
               CloseHandle:=OpenProcess(PROCESS_ALL_ACCESS,True,ProcessStruct.th32ProcessID);
               GetExitCodeProcess(CloseHandle,ExitCode);
               If TerminateProcess(CloseHandle,ExitCode) then
                 begin
                   showmessage('Closed');
                 end;
             end;
           Get:=Process32Next(ProcListhandle,ProcessStruct);    end;
    end;2.如果那个程序只有一个主窗口的话,也可以用FindWindow函数找到这个窗口的句柄,再用PostMessage函数给它发关闭的消息,就可以了。var
      HWndCalculator:THandle;
    begin
    HWndCalculator := FindWindow(nil,'记事本');
                   if HWndCalculator <> 0 then
                     begin
                       PostMessage(HWndCalculator,WM_CLOSE,0,0);
                     end;end;