![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.07.2013
Сообщений: 81
|
![]()
Здравствуйте. Подскажите как отловить событие при котором активируется окно чужой программы.
Как получить Handle на активное окно я разобрался. Код:
Но как получить этот указатель автоматически при активации окно. Допустим вылезло окно программы Word. Сразу указателю присваивается окно Worda. И прога записывает в какое время какое окно открылось? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
По таймеру, компонент TTimer. Или же более сложный путь: установка хука на HH_CBT.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 23.07.2013
Сообщений: 81
|
![]()
Да, по таймеру у меня получилось, но ведь он наверное сильно загружает процесс. А можно какой-нибудь пример с HOOkami. а то я почитал немного, не очень понял, не нашёл конкретного примера как перехватить сообщение об активации окна.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 23.07.2013
Сообщений: 81
|
![]()
Поставил таймер на 1 милисекунду. Впринципе работает в реальном времени, но как это повлияет на быстродействие?
|
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 23.06.2012
Сообщений: 19
|
![]()
1) " А никак скорее всего " - да ну , загрузит норм .
2) " Но лучше замени таймер на Thread в котором Sleep(10). " - WM_TIMER так же как и Sleep менее 58 мс не обрабатывает и всё , что меньше , на разных компьютерах будет срабатывать по разному . Для измерение более точных временных интервалов в WinAPI есть другие функции ( специально для этого предназначенны ) . |
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 23.06.2012
Сообщений: 19
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
![]() |
![]() |
![]() |
#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 |