首页 > 系统相关 >delphi判断进程和杀进程函数

delphi判断进程和杀进程函数

时间:2023-10-18 13:23:41浏览次数:31  
标签:UpperCase 函数 szExeFile ContinueLoop delphi ExeFileName FProcessEntry32 FSnapshot

function TMainForm.CheckTask(ExeFileName: string): Boolean; //检测XX进程是否存在函数
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  result := False;
  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 := True;
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
end;


function TMainForm.KillTask(ExeFileName:string):Integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOLean;
  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;
  CloseHandle(FSnapshotHandle);
end;

标签:UpperCase,函数,szExeFile,ContinueLoop,delphi,ExeFileName,FProcessEntry32,FSnapshot
From: https://www.cnblogs.com/lincunfa/p/17771847.html

相关文章

  • Oracle 中 decode 函数用法
    decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)Decode函数与一系列嵌套的IF-THEN-ELSE语句相似。该函数的含义如下:IF条件=值1THENRETURN(翻译值1)ELSIF条件=值2THENRETURN(翻译值2)......ELSIF条件=值nTHENRETURN(翻译值n)......
  • Cef笔记:进程间通信
    原文出处:https://bitbucket.org/chromiumembedded/cef/wiki/GeneralUsage#markdown-header-threadsInter-ProcessCommunication(IPC)SinceCEF3runsinmultipleprocessesitisnecessarytoprovidemechanismsforcommunicatingbetweenthoseprocesses.CefBrowserand......
  • 无涯教程-NumPy - join()函数
    此方法返回一个字符串,其中各个字符由指定的分隔符字符连接在一起。importnumpyasnpprintnp.char.join(':','dmy')printnp.char.join([':','-'],['dmy','ymd'])其输出如下-d:m:y['d:m:y''y-m-d']参考链接https://ww......
  • 【MySQL】DATE_FORMAT,DATE_ADD函数用法
    一、示例1select*frombi.testwhereDATE_FORMAT(UPDATE_TIME,'%Y-%m-%d')='2023-09-11';当然 '%Y-%m-%d'是可以根据实际需求调整的  二、示例22.1给时间增加一小时UPDATEbi.testSETUPDATE_TIME=DATE_ADD(UPDATE_TIME,INTERVAL1HOUR);2.2给时间减少......
  • mysql 日期格式为timestamp 和 datetime 使用month 函数取月份的区别
    1.DATE_FORMAT(data_dt,'%m')as`month`,使用这种方式无论什么类型的时间,取到的都是两位数。2.timstamp格式时间使用month()函数取出的月份只有一位。3.atetime格式时,month()函数获取到的就是两位数的月份。注意相关工具使用会不按预期执行,我的代码取到的月份为一位数,补没......
  • 关于STM32 HAL库版本IAP升级跳转一直进入HAL_Delay()函数;只需要在升级 程序中加入如下
    __set_FAULTMASK(1);/*setvectortable/SCB->VTOR=FLASH_BASE|0x1F800;///USERCODEEND1*//*MCUConfiguration--------------------------------------------------------//Resetofallperipherals,InitializestheFlashinterfaceandtheSystick......
  • P7077 [CSP-S2020] 函数调用
    显然函数之间的调用关系形成了一张拓扑图,预处理出函数\(i\)或其内部所有乘法之积\(mul_i\)。在调用一个加法函数后调用一个乘法函数,等价于先调用这个乘法函数,然后调用这个加法函数乘数次。所以不妨让乘法函数先做,剩下加法函数产生的贡献只取决于加数和调用次数。这里和线段树......
  • 进程
    进程的基本概念同一个程序3个进程同时进行(比如同时打开3个QQ),它们的PID也是不一样的。同一个程序执行一次进程,然后结束掉这个进程,然后再执行一次进程,则两次进程的PID是不一样的进程的状态转换运行态到就绪态:比如CPU收到一个时钟中断的信号,CPU会让当前进程下CPU,该进......
  • strtok()函数详解!
    1.定义分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。在头文件#include<string.h>中。2.原型char*strtok(chars[],constchar*delim);3.说明(1)当strt......
  • 无涯教程-NumPy - center()函数
    此函数返回所需宽度的数组,以使输入字符串居中并在左侧和右侧使用fillchar进行填充。importnumpyasnp#np.char.center(arr,width,fillchar)printnp.char.center('hello',20,fillchar='*')这是它的输出-*******hello********参考链接https://www.learnfk.com/nu......