Как проверить, запущена ли заданная программа - Free Pascal
Формулировка задачи:
Помогите сделать программу каторая все время будет проверять включена ли программа каторая задана пользователем.=(
1) Запрашивает у путь пользователя и сам .exe например "C:\Servers\CW\srcds.exe";
2) Пока программа работает она все время проверяет включена ли программа заданная пользователем;
Решение задачи: «Как проверить, запущена ли заданная программа»
textual
Листинг программы
{$mode objfpc} uses Windows, jwatlhelp32, jwapsapi; function CheckExe(what : string) : boolean; var pe : PROCESSENTRY32; snap : HANDLE; path : array[0 .. MAX_PATH] of char; ph : HANDLE; begin snap := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0); pe.dwSize := SizeOf(PROCESSENTRY32); result := false; if Process32First(snap, pe) then repeat ph := OpenProcess(PROCESS_VM_READ or PROCESS_QUERY_INFORMATION, true, pe.th32ProcessID); GetModuleFileNameEx(ph, 0, path, MAX_PATH); result := (ansistring(path) = what); until (not Process32Next(snap,pe)) or result; CloseHandle(snap); end; var what : string; begin write('path to check : '); readln(what); // what := 'D:\Program Files\Far2\Far.exe'; writeln(CheckExe(what)); end.
Объяснение кода листинга программы
- В функции CheckExe проверяется, запущена ли заданная программа.
- Переменные, используемые в функции:
- pe: содержит информацию о процессе.
- snap: используется для получения снимка всех процессов.
- path: массив, используемый для получения пути к исполняемому файлу процесса.
- ph: дескриптор процесса, который используется для получения информации о процессе.
- Алгоритм работы функции:
- Создается снимок всех процессов.
- Перебираются все процессы в снимке.
- Для каждого процесса открывается дескриптор процесса.
- Получается путь к исполняемому файлу процесса.
- Проверяется, совпадает ли путь с заданным путем.
- Если процесс совпадает с заданным, функция возвращает true.
- В основной программе функции, заданной пользователем, присваивается значение 'D:\Program Files\Far2\Far.exe'.
- Вызывается функция CheckExe с заданным путем к исполняемому файлу.
- Результат проверки выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д