|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.09.2013, 10:22 | #1 |
Пользователь
Регистрация: 23.07.2013
Сообщений: 81
|
Отловить активное окно
Здравствуйте. Подскажите как отловить событие при котором активируется окно чужой программы.
Как получить Handle на активное окно я разобрался. Код:
Но как получить этот указатель автоматически при активации окно. Допустим вылезло окно программы Word. Сразу указателю присваивается окно Worda. И прога записывает в какое время какое окно открылось? |
27.09.2013, 10:45 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
По таймеру, компонент TTimer. Или же более сложный путь: установка хука на HH_CBT.
|
27.09.2013, 10:54 | #3 |
Пользователь
Регистрация: 23.07.2013
Сообщений: 81
|
Да, по таймеру у меня получилось, но ведь он наверное сильно загружает процесс. А можно какой-нибудь пример с HOOkami. а то я почитал немного, не очень понял, не нашёл конкретного примера как перехватить сообщение об активации окна.
|
27.09.2013, 10:56 | #4 |
Пользователь
Регистрация: 23.07.2013
Сообщений: 81
|
Поставил таймер на 1 милисекунду. Впринципе работает в реальном времени, но как это повлияет на быстродействие?
|
27.09.2013, 12:17 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
09.10.2013, 13:45 | #6 |
Пользователь
Регистрация: 23.06.2012
Сообщений: 19
|
1) " А никак скорее всего " - да ну , загрузит норм .
2) " Но лучше замени таймер на Thread в котором Sleep(10). " - WM_TIMER так же как и Sleep менее 58 мс не обрабатывает и всё , что меньше , на разных компьютерах будет срабатывать по разному . Для измерение более точных временных интервалов в WinAPI есть другие функции ( специально для этого предназначенны ) . |
09.10.2013, 14:28 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
09.10.2013, 14:51 | #8 | |
Пользователь
Регистрация: 23.06.2012
Сообщений: 19
|
Цитата:
|
|
11.10.2013, 04:14 | #9 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
13.10.2013, 11:26 | #10 | |
Пользователь
Регистрация: 23.06.2012
Сообщений: 19
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как узнать, что окно активное/не активное | beegl | Общие вопросы Delphi | 6 | 01.01.2013 22:48 |
Подождать пока активное окно | TwiX | Общие вопросы Delphi | 3 | 20.03.2012 08:54 |
Активное окно | Messir_Leonard | Win Api | 4 | 22.04.2008 19:25 |
Активное окно | MadReason | Win Api | 12 | 10.01.2008 17:44 |
Предыдущее активное окно | martinz | Win Api | 3 | 25.11.2007 15:02 |