有时候写程序需要判断某个进程是否已启动,这个函数就可以做到!
uses Tlhelp32
function CheckTask(ExeFileName: string): BOOLean; //监视进程 const PROCESS_TERMINATE = $0001; var ContinueLoop: BOOLean; 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;
调用方法:
procedure TForm1.Button1Click(Sender: TObject); begin if checktask('qq.exe')=true then begin end else begin end; end;
标签:delphi
发表评论