![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
и в чем же проблемы ??? -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
В использовании статических переменных, скрытых внутри реализации API |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Погоди вперед коней бежать. Меня лично не должно волновать как там внутри функции работают статические переменные и вообще функция. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Dem_max, думаю, xvr имел ввиду, что реализация того, что ты предлагаешь для окон потребует более сложых манипуляций, связанных с синхронизацией состояния такого списка окон. И скорее всего, как бы эта реализация ни была сделана - Microsoft всегда будет крайним, т.к. это графическая подсистема, она всегда на виду у пользователя. Нарушить ее работу очень легко. И больше шансов нарушить ее далеко не у продуктов от Microsoft.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Ну вот например функция не использует callback, работает нормально в чем проблема то у нее ???
По мне такая функция при использовании в классе не будет иметь проблем в отличии от callback в классе где набо будет передавать указатель на класс (кастовать его в к какому нить LPDWORD) потом внутри этого callback производить обратное кастование LPDWORD к указателю на класс, ода это великий гимморой получается с кодом. Это сообщение отредактировал(а) Dem_max - 2.2.2013, 11:40 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Ну ты сравнил! Толи 2-3 девайса обойти, число которых статично, толи обойти пару сотен окон, число которых динамично.
Добавлено через 4 минуты и 21 секунду к тому же, то, что в названии присутствует Enum - совсем не определяет то, как оно реализуется в ядре. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Этим методом можно обойти и пару тысяч, неважно динамичные данные или нет. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Если реализация этого Enum'а будет скрывать в себе обход, аналогичный EnumWindows, то скорость обхода всех окон этим методом на паре тысяч окон будет на эти пару тысяч ниже, чем если бы был вызван один EnumWindows с заданным условием фильтрации. Раз используется Enum именно с колбеком, значит можно расчитывать на то, что он по крайней мере целесообразен исходя из внутреннего представления списка top-окон. Окна могут быть в дереве, в списке или в каком-то другом представлении, в котором обойти их, не раскрывая имплементацию списка пользователю невозможно, отсюда и колбек. Добавлено @ 13:10 если быть точным, то не НА, а В Это сообщение отредактировал(а) GremlinProg - 2.2.2013, 13:11 -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 5 Всего: 64 |
Кстати, да. Я только сейчас об этом подумал. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 13 Всего: 85 |
Dem_max, с динамичными будут проблемы. Окна это не дисплеи, они могут появляцца и исчезать пачками. Вот допустим вы обработали 8 окон, и заказываете 9-ое. а в это время первые 8 закрылись, список сместился: на 1-8 места переместились окна которые занимали позиции 9-16 в итоге эти окна вообще не попадут в ваш список. В зависимости от внутренней логики добавления/удаления окон из списка, вы либо вообще не получите некоторые окна, либо получите по нескольку раз одно и тоже окно. в общем это очень проблематичный и глюкоёмкий медод. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
volatile
теперь понятно -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]()
|
| Правила форума "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. |