информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Добудь утилиту M$ Spy++ (вроде идёт в составе Visual Studio), она раскроет глаза на окна. 23.07.07 12:27  Число просмотров: 1558
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Показывает иерархию окон, их стили, всякие другие параметры.
<programming>
[Win32] Фильтрация окон выдаваемых EnumWindows'ом 20.07.07 18:33  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Люди, а есть ли какой-нибудь способо перечисления всех открытых окон альтернативный EnumWindows? EnumWindows меня не устраивает, так как выдаёт много "не тех" окон. Мне нужны окна, которые отображаются в панели задач. Или может быть EnumWindows как-то к этому приучить можно?

Я написал простенькую утилиту, которая выводит все перечисленные EnumWindows’ом записи. Вот что она выдаёт, когда закрыты все окна:

                                   class : parent_class
                                   --------------------
                        tooltips_class32 : 
                        tooltips_class32 : Shell_TrayWnd
                        CiceroUIWndFrame : Shell_TrayWnd
                        tooltips_class32 : Shell_TrayWnd
                        tooltips_class32 : Shell_TrayWnd
                        tooltips_class32 : Shell_TrayWnd
                        tooltips_class32 : Shell_TrayWnd
                                 WorkerW : Shell_TrayWnd
                        tooltips_class32 : Shell_TrayWnd
                           Shell_TrayWnd : 
                        CiceroUIWndFrame : CicLoaderWndClass
                        CiceroUIWndFrame : CiceroUIWndFrame
                                 BaseBar : 
                        tooltips_class32 : 
                                NDDEAgnt : 
                                 BaseBar : 
                                 BaseBar : 
                                     #43 : 
                       CTrayIconWndClass : 
                                 WorkerW : 
                      MS_WebcheckMonitor : 
                              DDEMLEvent : 
                                IB_Guard : 
                                SysFader : 
                                DDEMLMom : 
                              IrmonClass : 
                                 WorkerW : 
                               IB_Server : 
                       CTrayIconWndClass : 
                       CicLoaderWndClass : 
                         SystemTray_Main : 
                        Connections Tray : 
                                 WorkerW : 
                        tooltips_class32 : Progman
                                 Progman :

---

Когда Visual Studio запущена их раза в три больше. Помогите избавиться от этого хлама
[Win32] Ну получай их стили и во первых выкидывай все, у которых нет ws_visible 20.07.07 19:40  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
А во-вторых все, у которых есть ws_popup
Ну дальше сам разберешься. Можно к примеру вообще обращать внимание только на те, у которых есть ws_caption | ws_visible и т.д.
Спасибо, теперь намного лучше. Вот код: 21.07.07 05:21  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 21.07.07 05:21  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Спасибо, теперь намного лучше. Вот код:
	...
	dwStyle = GetWindowLong(hwnd, GWL_STYLE);
	if (~(dwStyle & WS_POPUP) && dwStyle & WS_VISIBLE)
	{
	...

---

Только 2 "лишних" окна всё-равно остались:

        класс : заголовок
Shell_TrayWnd :
      Progman : Program Manager

---

Ну Shell понятно - меню Пуск с треем видимы, а Progman что?
Добудь утилиту M$ Spy++ (вроде идёт в составе Visual Studio), она раскроет глаза на окна. 23.07.07 12:27  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Показывает иерархию окон, их стили, всякие другие параметры.
Progman - это десктоп [update] 23.07.07 11:10  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 23.07.07 11:21  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
if (~(dwStyle & WS_POPUP) && dwStyle & WS_VISIBLE)

---
содержит ошибку. Для большинства (для всех фактически) real-life случаев это будет равнозначно
if (dwStyle & WS_VISIBLE)

---
Так может быть всё таки ws_popup оставить, раз она всё таки иногда бывает? 23.07.07 14:29  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Если тебе нужны popup окна - оставляй :-) 23.07.07 14:49  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Мне попапы ненужны, поэтому и оставляю. Всем спасибо. Тема... 23.07.07 16:32  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
Мне попапы ненужны, поэтому и оставляю. Всем спасибо. Тема закрыта
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach