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
|
请发表评论