Delphi判断某进程是否运行的函数

use Tlhelp32;

函数:

function   TForm1.FindProcess(aFileName:   String):   boolean;             //   zxf   add   2007-4-3   判断本机是否在运行后台程序
var   hSnapshot:THandle;                   //获取进程列表
        lppe:TProcessEntry32;             //用于查找进程
        Found:boolean;                           //用于判断进程是否历遍完成
begin
      Result:=false;
      hSnapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);   //获取系统进程列表
      lppe.dwSize:=SizeOf(TProcessEntry32);   //在调用Process32First   API之前,需要初始化lppe记录的大小
      Found:=Process32First(hSnapshot,lppe);   //将进程列表的第一个进程信息读入lppe记录中
      while   Found   do
      begin
          if   (UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(aFileName))   or   (UpperCase(lppe.szExeFile)=UpperCase(aFileName))   then
          begin
              Result:=true;
              break;
          end;
          Found   :=   Process32Next(hSnapshot,   lppe);   //将进程列表的下一个进程信息读入lppe记录中
      end;
end;

调用:
if FindProcess( ‘ZC020.EXE’) then


posted @ 2013-04-01 23:38  Wishmeluck  阅读(289)  评论(0编辑  收藏  举报