Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
4 / 4 / 2
Регистрация: 17.10.2013
Сообщений: 131
1

Как определить hwnd окна

26.11.2013, 11:00. Показов 7769. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Проблема такая.Я сделал exe ,который рисует окно,и в нем пишу,кнопки ставлю.Это окно при запуске exe появляется в текущем большом окне.
А как получить hwnd этого большого окна,чтобы и в нем писать,а не только в своем.Что-то не доходит.
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2013, 11:00
Ответы с готовыми решениями:

Найти HWND окна, зная HWND окна, породившего его
Здравствуйте! Имеется основное окно "А". Это окно создаёт новое недочернее окно "Б". Необходимо...

Как проверить состояние окна hwnd
Возможно ли узнать состояние окна hwnd, когда свёрнуто, когда открыто?

Как найти HWND нужного окна?
хочу написать программу которая нажимала бы клавишу в другом окне, когда оно перекрыто другим ...

Как получить HWND окна/процесса/консоли
Как получить HWND окна/процесса/консоли? мне надо для Shellexecute. Реализация в Dll #include...

7
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
26.11.2013, 14:22 2
Я не совсем понял что вам нужно.
Наверное вот:
FindWindow , msdn
0
4 / 4 / 2
Регистрация: 17.10.2013
Сообщений: 131
26.11.2013, 15:19  [ТС] 3
Извините.Неправильно изложил свою мысль.
Открыто окно,например,браузера.
Запускаю exe.Открылось окно exe.
А как определить hwnd окна браузера?Чтобы из exe работать и с ним.Как-то так.Заранее спасибо.
0
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
26.11.2013, 19:54 4
Ну а что мешает ?
C++
1
2
3
HWND hwnd_br;
...
hwnd_br = FindWindow(NULL,L"Название окна браузера");
В итоге , под hwnd_br у тебя будет HWND браузера , и сможешь управлять , как ты хотел.
Ещё раз прочитайте msdn , если я написал правильно.
Надеюсь , если что другие меня подправят , что я не правильно сказал.
0
4 / 4 / 2
Регистрация: 17.10.2013
Сообщений: 131
26.11.2013, 20:37  [ТС] 5
Спасибо.
Вы правильно ответили и Ваш ответ я выписал и буду пользоваться.
Только задача чуть сложнее.
Я браузер привел в качестве примера.Вместо окна браузера может быть окно другой программы и какой у окна заголовок будет заранее неизвестно.
Вот как быть тут?А надо работать с окном в котором открылось окно exe.
Заранее спасибо.
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 350
01.12.2013, 05:26 6
Цитата Сообщение от aznvsk Посмотреть сообщение
Это окно при запуске exe появляется в текущем большом окне.
Оно ведь не само там появляется, да? Ты же как-то указал "текущее большое окно" в качестве родительского. А как это сделать, не зная его дескриптор?
0
4 / 4 / 2
Регистрация: 17.10.2013
Сообщений: 131
01.12.2013, 07:28  [ТС] 7
Добрый день.Спасибо.
1)Опять я неправильно довел свою мысль.Ничего специально не указываю в качестве родительского окна.
А exe открываю,когда на экране открыто другое приложение,например,браузер или текстовый редактор.Так как узнать
hwnd этого окна,в котором запускается exe.
2)Или чуть по другому,как в цикле перебрать все открытые окна и выбрать самое большое.
Подскажите,пожалуйста.Заранее спасибо.
0
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 350
01.12.2013, 08:38 8
Окна можно перебирать функцией EnumWindows. Насчет самого большого из них - тут зависит от того, что под этим понимать: ширину, высоту, площадь. А что, если два окна развернуты на весь экран? Какое из них больше?
В любом случае, можно воспользоваться функцией GetWindowRect или GetWindowInfo для получения размеров окна.
0
01.12.2013, 08:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2013, 08:38
Помогаю со студенческими работами здесь

Как получить HWND окна на панели задач по координатам мыши?
Как получить хэндл свернутого на панель задач окна, на которое наведена мышка?) Добавлено через...

Как получить HWND, созданного функцией CreateProcess, окна консоли
Есть обычное оконное прижоление на Win Api. В какой-то момент вызываю CreateProcessW и подсовываю...

Как по HWND определить объект?
Есть главное окно приложения, по заголовку его находит другое приложение (hwnd = FindWindow(...))....

Получить HWND окна
Задача такова - загрузить динамическую dll в чужое приложение и получить HWND окна в которое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru