Процедура принимает два параметра типа строка: Classname и WindowTitle. Эти строки используются для идентификации целевого приложения.
const
PROCESS_terminate = $0001;
Константа определена как hexadecimal-значение $0001, которое представляет право прерывания процесса в Windows API.
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
Переменные объявлены:
ProcessHandle: Обратная ссылка на процесс, который будет прерван.
ProcessID: Целое число, представляющее ID процесса.
TheWindow: Обратная ссылка на окно (HWND), используемая для поиска целевого процесса.
begin
TheWindow := FindWindow(Classname, WindowTitle);
Эта строка использует функцию Windows API FindWindow для поиска окна с указанным классовым именем и заголовком. Если найдено, возвращает обратную ссылку на окно.
GetWindowThreadProcessID(TheWindow, @ProcessID);
Эта строка получает ID процесса, связанного с обратной ссылкой на окно, используя функцию Windows API GetWindowThreadProcessID.
Эта строка открывает обратную ссылку на процесс, используя функцию Windows API OpenProcess, указывая право прерывания процесса (PROCESS_terminate) и ID процесса, полученное ранее. Второй параметр (FALSE) specifies that this is not an inheritance flag.
TerminateProcess(ProcessHandle, 4);
Наконец, эта строка прерывает процесс, используя функцию Windows API TerminateProcess. Второй параметр (4) - код выхода, но его значение не важно в этом случае.
В целом, эта процедура находит окно с указанным классовым именем и заголовком, получает связанное ID процесса, открывает обратную ссылку на процесс и затем прерывает его. Обратите внимание, что это процедура должна использоваться осторожно, потому что прерывание приложения может иметь неожиданные последствия, если не сделано правильно.
Данное программное обеспечение предназначено для остановки активного приложения на компьютере, задавая имя класса и заголовок окна.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS