Home

Page 99
Page 99
background image

92 Глава 3

Ну и напоследок переменной Result присваивается значение true, чтобы
поиск продолжился.

Получается, что если запустить программу, то мы увидим дрожание всех

запущенных окон. Программа будет перебирать все окна и случайным обра-
зом изменять их положение. Попробуйте запустить программу и посмотреть

этот эффект в действии (дрожат только не открытые на весь экран окна).

На компакт-диске в директории \Примеры\Глава 3\Дрожь вы можете уви-

деть пример этой программы.

3.6. Найти и уничтожить

Теперь мы напишем еще один пример программы, которая будет работать
с чужими окнами. Она будет искать в системе определенное окно и уничто-

жать его. На первый взгляд, мы должны воспользоваться способом, описан-

ным в прошлом разделе, но это только на первый взгляд, потому что есть

способ намного проще. Давайте создадим приложение, которое будет искать

в системе окно с заголовком Microsoft

 и уничтожать его.

Создайте новое приложение и перенесите

 форму только одну кнопку с

заголовком Найти и уничтожить. В обработчике нажатия этой кнопки пи-

шем следующий код:

procedure

 TObject);

begin

if

 then exit;

SendMessage(h,

 0,0);

end;

Новая функция здесь одна

 Она ищет окно по заданным па-

раметрам и если таковое найдено, то возвращает его идентификатор, иначе

возвращает о. В качестве параметров нужно указывать значения искомого

окна:

1. Класс окна. Нам он

 и мы здесь указываем nil.

2. Заголовок окна. Для примера мы взяли Microsoft

 поэтому указан

его заголовок.

Итак, единственное, что нам надо знать — заголовок окна, но знать его на-

до точно. В этом и состоит главный минус данного подхода программы, по-

тому что Microsoft Word с открытым документом имеет заголовок Имя

документа - Microsoft

 Если нет открытых документов, то заголовок

простой

 Microsoft

 В этом случае функция

 однозначно


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.