Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите понять код, Не могу понять что происходит в процедур 
:(
    Опции темы
Dzeu
Дата 21.3.2012, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.2.2012

Репутация: нет
Всего: нет



Код


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;



Нашел вот эту процедуру для уничтожения процессов.
После begin в первой строчке кода находится для обработки окно с шапкой WindowTitle и формой Classname (допустим Tfrom1). Во второй строчке кода находится айди выбранного процесса. Это все что я мог понять из кода.
Что происходит в остальных двух строчках??? Я еще зеленый в кодинге, помогите =3
PM MAIL   Вверх
LegionnaireFH
Дата 21.3.2012, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.3.2012

Репутация: нет
Всего: нет



ProcessHandle - идентификатор ресурса, в данном случае описывает процесс (видимо, который может быть уничтожен), содержит его параметры и т.д.  Исходя из определения THandle в справке Delphi: THandle is a 32-bit value that uniquely identifies a resource. TerminateProcess - соответственно, само уничтожение процесса. Как то так.

Это сообщение отредактировал(а) LegionnaireFH - 21.3.2012, 12:12
PM   Вверх
Snowy
Дата 21.3.2012, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



1. Найти окно по заголовку / классу
2. Получить ID процесса, которому принадлежит это окно
3. Получить доступ к процессу по ID с запросом прав на уничтожение.
4. Уничтожить процесс
PM MAIL   Вверх
Dzeu
Дата 21.3.2012, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.2.2012

Репутация: нет
Всего: нет



LegionnaireFH, Snowy, спасибо. А цифра 4 в TerminateProcess означает код команды уничтожения процесса?
PM MAIL   Вверх
Snowy
Дата 21.3.2012, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Цифра 4 - это ExitCode
Обычно не имеет значения и равна нулю.
У тебя разве F1 не работает?
PM MAIL   Вверх
Dzeu
Дата 21.3.2012, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.2.2012

Репутация: нет
Всего: нет



Цитата(Snowy @ 21.3.2012,  16:06)
Цифра 4 - это ExitCode
Обычно не имеет значения и равна нулю.
У тебя разве F1 не работает?

Спасибо. Я про F1 не знал, ровно как и про базу помощи Delphi. Как я и говорил, мне еще многое предстоит узнать =)
Спасибо вам за помощь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.