Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как определить, что на экране появляется новое окно

10K
19 января 2009 года
Shalfey
47 / / 10.03.2007
Ситуация такова: каждый раз при отображении нового окна на экране, необходимо делать его скриншот. Отсюда вопрос: каким образом можно определить, что на экране создано новое окно и как получить его HWND?

Обратите внимание, скриншот каждого окна нужно делать лишь 1 раз, сразу после его создании, а не при каждой активации.

Реализация на С++.
535
20 января 2009 года
Нездешний
537 / / 17.01.2008
Глобальный хук на WM_CREATE ?
10K
20 января 2009 года
Shalfey
47 / / 10.03.2007
А конкретный пример кода можно?
10K
20 января 2009 года
Shalfey
47 / / 10.03.2007
В этом контексте, как я понимаю, можно проверить наличие сообщения WM_CREATE в очереди сообщений, верно? Если да, то как именно?
 
Код:
MSG msg;
   while (GetMessage (&msg, NULL, 0, 0))
   {
        TranslateMessage (&msg);
        DispatchMessage (&msg);
   }
1.9K
20 января 2009 года
George22
91 / / 09.12.2007
Нездешний правильно ответил: глобальный хук на WM_CREATE
Поищи в Инете: перехват сообщений Windows,
ну а попроще: можно по таймеру вызывать API-функцию:
EnumWindows(...)
10K
20 января 2009 года
Shalfey
47 / / 10.03.2007
Можно пример кода в контексте сообщения № 4 этой темы?
12K
21 января 2009 года
lifs
163 / / 06.09.2007
Цитата: Shalfey
Можно пример кода в контексте сообщения № 4 этой темы?



Неправильно. Сообщения нужно перехватывать с помощью функции SetWindowsHookEx.

47K
13 февраля 2009 года
victors21
1 / / 13.02.2009
по таймеру вызывать API-функцию:
EnumWindows(...) это если окно не скрыто
или делать его скрин с помощью API /*HWND FwHND = GetForegroundWindow();*/ тоесть ждать когда пользователь захочет воспользоваться программой и певедёт фокус на новое окно. А если никто ничего не скрывает то на мой взгляд лучше всего подходит EnumWindows(...) со своим калбеком, чем хук, даже с 1ms на таймере нагрузка ничтожна...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог