![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
Как пройтись по всем открытым в данный момент окошкам, узнать из названия(заголовки) и если у одного из них название "foobar" - закрыть его?
--------------------
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 3 Всего: 112 |
Сделай поиск по форуму, наверняка найдешь примеры.
Ищи: EnumWindows + EnumChildWindows - Так ты узнаешь хэндлы окон. Получить заголовок окна - GetWindowText Закрыть окно - CloseWindow Также возможно в твоей задаче подойдёт FindWindow + FindWindowEx, если известны заголовки родителей нужного окна... -------------------- С уважением, г-н Посол. |
|||
|
||||
| rsm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: 4 Всего: 62 |
Это сообщение отредактировал(а) rsm - 24.9.2005, 17:51 |
|||
|
||||
| Yak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2005 Репутация: нет Всего: нет |
можно простым, правда не совсем красивым способом - прокрутить ч-з цикл, от i=-33000 до гдет 33000 (короче в пределах действия типа HWND) функцию IsWindow(i). если возвращает1, то окно с данным Hwnd в системе существует, если 0 - знач нет. находит все, даж мелкие кнопочки на панелях инструментов и системные окна, которые никогда не показываются сами)))))
|
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 1 Всего: 33 |
зачем? код, который дал rsm - пробегает только по открытым окошкам и все отлично работает
--------------------
|
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: нет Всего: 3 |
SendMessage(FindWindow(NULL,"foobar"), WM_SYSCOMMAND, SC_CLOSE,0);
-------------------- people can fly |
|||
|
||||
| Eugene82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 30.5.2005 Где: г. Ростов-на-Дону Репутация: нет Всего: нет |
To rsm. И твой код билдер отказался запускать - видно ещё какую-то библиотеку подключить надо кроме windows.h. Выдаёт две ошибки (вторая я думаю из-за первой). Первая: E2034 Cannot convert 'int (__fastcall *)(void *,long)' to 'int (__fastcall *)()' А вообще я хочу узнать заголовок окна Винампа (версия 5.1) - на Winamp v1.x не откликается! Поможите кто чем может! А я потом плагином поделюсь! |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 10 Всего: 124 |
||||
|
||||
| Eugene82 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 30.5.2005 Где: г. Ростов-на-Дону Репутация: нет Всего: нет |
Почему не работал мой код? Видать что-то пропустил, хотя компилер не ругался. Но прога всё таки не работала. Сейчас взял текст на Object Pascal
|
||||||
|
|||||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |