Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
vam911 Гость
|
Добавлено: Пт Авг 27 2004 09:02 Заголовок сообщения: Как найти HWND контрола в окне? |
|
|
Может кто подскажет, как найти HWND контрола (кнопки, листбокса в окне) На Getwindow не берется, т.к., видимо, является частью оконного класса |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Пт Авг 27 2004 11:32 Заголовок сообщения: Re: Как найти HWND контрола в окне? |
|
|
BOOL EnumChildWindows(
HWND hWndParent, // handle to parent window
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
); |
|
Вернуться к началу |
|
|
vam911 Гость
|
Добавлено: Пт Авг 27 2004 21:05 Заголовок сообщения: а из VB? |
|
|
А как это сделать из VB (при неограниченном использовании API) |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Пн Авг 30 2004 10:59 Заголовок сообщения: Re: а из VB? |
|
|
Ну так это и приведена API-шная функция. Соответственно надо написать callback-функцию (EnumChildProc), адрес которой передаётся вторым параметром и которая будет вызываться для каждого дочернего окна и возвращать TRUE для продолжения перебора или FALSE, если решит, что это тот самый контрол, который нужен. Как это всё оформить на VB - тут я пас. |
|
Вернуться к началу |
|
|
Гость
|
Добавлено: Пн Авг 30 2004 20:08 Заголовок сообщения: |
|
|
А первый параметр функции - хэтдл родительского окна... а как его найти?.. |
|
Вернуться к началу |
|
|
SmK Гость
|
Добавлено: Вт Авг 31 2004 09:55 Заголовок сообщения: |
|
|
Посмотри утилиту Spy++ (стандартный набор VB), если она отображает твой контрол, значит можно обойтись GetWindow
З.Ы. чего то я не встречал контролов, которые нельзя получить GetWindow, может скажешь прогу у которой надо всё это получить ? |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Вт Авг 31 2004 11:52 Заголовок сообщения: |
|
|
Anonymous писал(а): | А первый параметр функции - хэндл родительского окна... а как его найти?.. |
Пардон, а кто это окно создаёт? Это чужое окно? Тогда FindWindow() - поиск окна по заголовку. |
|
Вернуться к началу |
|
|
|