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

Ваш аккаунт

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

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

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

Указатель на чужое окошко

2.0K
11 декабря 2002 года
Elf
19 / / 11.12.2002
Здравствуйте все!

Может кто-либо помочь с таким вопросом:
:???: Во время работы проги создаётся чужое окошко. Мне нужно поставить на него указатель. Желательно во время создания этого окна.

Вот...

Заранее Спасибо
409
11 декабря 2002 года
Ramzes
163 / / 20.09.2000
Во-первых что такое чужое окошко?
Во-вторых поставить указатель, какой? картинку со стрелочкой :) или как?
2.0K
14 декабря 2002 года
Elf
19 / / 11.12.2002
Во-первых чужое окошко -- это окошко, не относящееся к моей проге. Яркий пример: Во время работы запускается куркулятор.
Во-вторых указатель енто CWnd *pSomeVar

8)
409
14 декабря 2002 года
Ramzes
163 / / 20.09.2000
Не знаю как там на МФЦ, но на ВинАРИ используется функция:

EnumDesktopWindows

The EnumDesktopWindows function enumerates all top-level windows on a desktop by passing a handle to each window, in turn, to an application-defined callback function.

BOOL EnumDesktopWindows(
HDESK hDesktop, // handle to desktop to enumerate
WNDENUMPROC lpfn, // callback function
LPARAM lParam // value to pass to callback function
);
Parameters
hDesktop
[in] Handle to the desktop whose top-level windows are to be enumerated. The CreateDesktop, OpenDesktop, and GetThreadDesktop functions return a desktop handle. If this parameter is NULL, the current desktop is used.
lpfn
[in] Pointer to an application-defined EnumWindowsProc callback function.
lParam
[in] Specifies an application-defined value to be passed to the callback function.
Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Windows 2000 or later: If there are no windows on the desktop, GetLastError returns ERROR_INVALID_HANDLE.

Remarks
The EnumDesktopWindows function repeatedly invokes the lpfn callback function until the last top-level window is enumerated or the callback function returns FALSE.
2.0K
15 декабря 2002 года
Elf
19 / / 11.12.2002
:) Ok спасибо большое! 8)
А вопрос такого проядка: как написать обработчик ВМ_КРЕЙТ чужого окна? И при этом получить указатель на окно? Или хендл....

Заранее спасибо
577
17 декабря 2002 года
Mozhay
81 / / 20.09.2000
Цитата:
Originally posted by Elf
:) Ok спасибо большое! 8)
А вопрос такого проядка: как написать обработчик ВМ_КРЕЙТ чужого окна? И при этом получить указатель на окно? Или хендл....

Заранее спасибо



Вдобавок к EnumDesktopWindows(): есть еще ф-ция FindWindow()...

Насчет WM_CREATE не уверен, что можно. Дело в том, что можно подменить ф-цию обработки сообщения для заданного класса окна. Делается это с помощью SetClassLong(). Для этого нужно, чтобы класс был зарегистрирован. Обычно класс окна регистрируется непосредственно перед созданием такого окна. Можно ли отследить момент регистрации класса окна, я не знаю... Если бы было можно, то в этот момент подменяем ф-цию обработки сообщений на свою, в ней ловим WM_CREATE, все остальное передаем предыдущему обработчику и радуемся.

Что касается "получить указатель или хэндл", так один из параметров ф-ции обработки сообщений - хэндл окна. Его и получать не надо, сам придет :)

2.0K
19 декабря 2002 года
Elf
19 / / 11.12.2002
Большое спасибо!!!!
А вот финкция SetWindowsHookEx как она работает? (если можно с примером)
Заранее благодарен
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог