Tlhelp32; KillTask(ExeFileName: ): integer; PROCESS_TERMINATE = ; ContinueLoop: BOOLean; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; Result := ; FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, ); FProcessEntry32.dwSize := SizeOf(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); integer(ContinueLoop) <> ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase (ExeFileName)) (UpperCase(FProcessEntry32.szExeFile) = UpperCase (ExeFileName))) Result := integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL() , FProcessEntry32.th32ProcessID), )); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); ; CloseHandle(FSnapshotHandle); ; 调用的时候只需要 KillTask() <> showmessage() showmessage(); 你在程序里面用一个计时器,每隔一秒钟检查一下,如果有就结束,也就实现了禁止运行的目的。 TForm1.Timer1Timer(Sender: TObject); KillTask(); ;
转载于:https://www.cnblogs.com/hssbsw/archive/2012/03/10/2389199.html