delphi殺進程的兩種方式


第一種:比較簡單,根據標題,找到窗口,再找到進程,殺死進程

 

[delphi]  view plain  copy
 
  1. procedure KillProgram(WindowTitle : string);  
  2. const  
  3.   PROCESS_TERMINATE = $0001;  
  4. var  
  5.   ProcessHandle : THandle;  
  6.   ProcessID: Integer;  
  7.   TheWindow : HWND;  
  8. begin  
  9.   TheWindow := FindWindow(nil, PChar(WindowTitle));  
  10.   GetWindowThreadProcessID(TheWindow, @ProcessID);  
  11.   ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);  
  12.   TerminateProcess(ProcessHandle,4);  
  13. end;  


第二種:復雜一點,不過可獲取的信息更多,其他功能的時候可以參考一下

 

[delphi]  view plain  copy
 
  1. function KillTask(ExeFileName: string): integer;  
  2. const  
  3.   PROCESS_TERMINATE=$0001;  
  4. var  
  5.   ContinueLoop: BOOL;  
  6.   FSnapshotHandle: THandle;  
  7.   FProcessEntry32: TProcessEntry32;  
  8. begin  
  9.   result := 0;  
  10.   
  11.   FSnapshotHandle := CreateToolhelp32Snapshot  
  12.                      (TH32CS_SNAPPROCESS, 0);  
  13.   FProcessEntry32.dwSize := Sizeof(FProcessEntry32);  
  14.   ContinueLoop := Process32First(FSnapshotHandle,  
  15.                                  FProcessEntry32);  
  16.   
  17.   while integer(ContinueLoop) <> do  
  18.   begin  
  19.     if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =  
  20.          UpperCase(ExeFileName))  
  21.      or (UpperCase(FProcessEntry32.szExeFile) =  
  22.          UpperCase(ExeFileName))) then  
  23.       Result := Integer(TerminateProcess(OpenProcess(  
  24.                         PROCESS_TERMINATE, BOOL(0),  
  25.                         FProcessEntry32.th32ProcessID), 0));    
  26.     ContinueLoop := Process32Next(FSnapshotHandle,  
  27.                                   FProcessEntry32);  
  28.   end;  
  29.   
  30.   CloseHandle(FSnapshotHandle);  
  31. end;   

 

另,word也可以根據標題結束進程,word的標題的規則是application的title + "-" + window的title

 

http://blog.csdn.net/youthon/article/details/7247874

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM