| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Как пройтись по всем открытым окошкам? |
| Автор: szz 24.9.2005, 15:28 |
| Как пройтись по всем открытым в данный момент окошкам, узнать из названия(заголовки) и если у одного из них название "foobar" - закрыть его? |
| Автор: p0s0l 24.9.2005, 17:33 |
| Сделай поиск по форуму, наверняка найдешь примеры. Ищи: EnumWindows + EnumChildWindows - Так ты узнаешь хэндлы окон. Получить заголовок окна - GetWindowText Закрыть окно - CloseWindow Также возможно в твоей задаче подойдёт FindWindow + FindWindowEx, если известны заголовки родителей нужного окна... |
| Автор: rsm 24.9.2005, 17:50 | ||
|
| Автор: Yak 5.11.2005, 23:06 |
| можно простым, правда не совсем красивым способом - прокрутить ч-з цикл, от i=-33000 до гдет 33000 (короче в пределах действия типа HWND) функцию IsWindow(i). если возвращает1, то окно с данным Hwnd в системе существует, если 0 - знач нет. находит все, даж мелкие кнопочки на панелях инструментов и системные окна, которые никогда не показываются сами))))) |
| Автор: szz 5.11.2005, 23:56 |
| зачем? код, который дал rsm - пробегает только по открытым окошкам и все отлично работает |
| Автор: Helicopterr 6.11.2005, 16:49 |
| SendMessage(FindWindow(NULL,"foobar"), WM_SYSCOMMAND, SC_CLOSE,0); |
| Автор: Eugene82 18.12.2005, 01:41 | ||
To rsm. И твой код билдер отказался запускать - видно ещё какую-то библиотеку подключить надо кроме windows.h. Выдаёт две ошибки (вторая я думаю из-за первой). Первая: E2034 Cannot convert 'int (__fastcall *)(void *,long)' to 'int (__fastcall *)()' А вообще я хочу узнать заголовок окна Винампа (версия 5.1) - на Winamp v1.x не откликается! Поможите кто чем может! А я потом плагином поделюсь! |
| Автор: SergeCpp 19.12.2005, 11:41 |
| http://s0m.narod.ru/iws.html |
| Автор: Eugene82 19.12.2005, 16:51 | ||||||
Почему не работал мой код? Видать что-то пропустил, хотя компилер не ругался. Но прога всё таки не работала. Сейчас взял текст на Object Pascal
|