博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Check, if a process is running
阅读量:6325 次
发布时间:2019-06-22

本文共 1018 字,大约阅读时间需要 3 分钟。

{ Check if a process from the task list is active. }
 


uses
 TlHelp32; 



function
 processExists(exeFileName: string): Boolean; 

var
 

  ContinueLoop: BOOL; 

  FSnapshotHandle: THandle; 

  FProcessEntry32: TProcessEntry32; 

begin
 

  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 

  FProcessEntry32.dwSize := SizeOf(FProcessEntry32); 

  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); 

  Result := False; 

  
while
 Integer(ContinueLoop) <> 0 do 

  
begin
 

    
if
 ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = 

      UpperCase(ExeFileName)) 
or
 (UpperCase(FProcessEntry32.szExeFile) = 

      UpperCase(ExeFileName))) 
then
 

    
begin
 

      Result := True; 

    
end;
 

    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); 

  
end;
 

  CloseHandle(FSnapshotHandle); 

end;
 


procedure
 TForm1.Button1Click(Sender: TObject); 

begin
 

  
if
 processExists('notepad.exe') 
then
 

    ShowMessage('process 
is
 running') 

  else 

    ShowMessage('process not running'); 

end;

    本文转自 OldHawk  博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2007/08/20/862668.html,如需转载请自行联系原作者

你可能感兴趣的文章
7834:分成互质组
查看>>
使用Configuration Manager配置资产智能
查看>>
ISA 服务器遭遇 RPC 故障
查看>>
使用高级特性增强网络稳定性探究
查看>>
数据结构 - 二叉树(重构 + 遍历)
查看>>
Android自定义View探索(二)—常用工具
查看>>
[开源c-FFMpeg]Android add prebuilt lib(*.so) to Android.mk
查看>>
渗透测试工具(老外整理的)
查看>>
利用redis-sentinel+keepalived实现redis高可用
查看>>
代理服务器连接Internet,打开 excel2013时,会跳出需要连接网络的对话框
查看>>
Django学习系列之用户注册
查看>>
cdecl和stdcall调用约定的汇编代码对比
查看>>
RHEL 5服务篇—LAMP平台的部署及应用
查看>>
从优秀到卓越——反思应该如何创业
查看>>
Aperlib——Socket通讯模块压力及大数据对比工具
查看>>
Skype For Business2015 监控-存档服务器配置介绍
查看>>
密码学研究-数字签名
查看>>
linux中install命令基本用法
查看>>
技术分享连载(三十八)
查看>>
Lync Server 2010 安装部署系列二:域控制器安装
查看>>