Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Убиваем активное приложение

Delphi , Программа и Интерфейс , Приложения чужие

Убиваем активное приложение


procedure KillProgram(Classname: string; WindowTitle: string);
const
  PROCESS_TERMINATE = $0001;
var
  ProcessHandle : THandle;
  ProcessID: Integer;
  TheWindow : HWND;
begin
  TheWindow := FindWindow(Classname, WindowTitle);
  GetWindowThreadProcessID(TheWindow, @ProcessID);
  ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
  TerminateProcess(ProcessHandle,4);
end;

Here is the translation of the text into Russian:

Процедура Delphi под именем KillProgram, которая прерывает активное приложение по его классовому имени и заголовку окна. Вот разбивка кода:

procedure KillProgram(Classname: string; WindowTitle: string);

Процедура принимает два параметра типа строка: 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.

ProcessHandle  := OpenProcess(PROCESS_terminate, FALSE, ProcessId);

Эта строка открывает обратную ссылку на процесс, используя функцию Windows API OpenProcess, указывая право прерывания процесса (PROCESS_terminate) и ID процесса, полученное ранее. Второй параметр (FALSE) specifies that this is not an inheritance flag.

TerminateProcess(ProcessHandle, 4);

Наконец, эта строка прерывает процесс, используя функцию Windows API TerminateProcess. Второй параметр (4) - код выхода, но его значение не важно в этом случае.

В целом, эта процедура находит окно с указанным классовым именем и заголовком, получает связанное ID процесса, открывает обратную ссылку на процесс и затем прерывает его. Обратите внимание, что это процедура должна использоваться осторожно, потому что прерывание приложения может иметь неожиданные последствия, если не сделано правильно.

Данное программное обеспечение предназначено для остановки активного приложения на компьютере, задавая имя класса и заголовок окна.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Приложения чужие ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 17:05:14/0.010481119155884/2