![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Wine, на мой взгляд, уже достиг значительных успехов в реализации АПИ подсистемы windows. Но проект заточен под окружение линуха, хотя уже реализованы возможности сделать это окружение средствами самого wine' a. А ведь правда, почему бы не представить такую операционную систему, наподобие андройда, где за железо отвечает линух, а верхний уровень представляет собой win-совместимый слой.
Но это все присказка, мои тараканы. Они меня толкают на создание explorer.exe работоспособного в среде wine, ибо ничего из существующего в этой среде пока не работает. Я никогда не опускался ниже уровня Delphi, но что то в жизни иногда надо менять, и пусть Delphi в вайне работает нормально, все же я выбрал более идеологически линух-родственную среду - Lazarus. Win32 Lazarus. Который тоже под вайном работает на должном уровне. Ну и собственно к самому вопросу, касаемо explorer.exe. Его реализацию я начал с taskbar'а. И тут же начались первые несовместимости. Где под ХР все работает как и ожидалось, в вайне не работает ничего. Оно и понятно, вайн не затачивался под управление окнами из собственной среды, и многие функции не реализованы. Стало быть надо как то их в собственном експлорере допиливать мелким надфилем. Одна из самый острых проблем - как сворачивать приложения, состоящие не из одного окна? Что, делфи, что лазарус, состоят из нескольких разных окон. И посыл родителю SW_MINIMIZE сворачивает только главное, остальные висят как ни в чем не бывало. Т.е. вайн при сворачивании главного не обращает внимания на дочерние, и это надо делать самостоятельно. Я не силен в АПИ, но понимаю, что их как то надо найти и послать им соответствующее сообщение. Что то вроде EnumChildWindows(hwd, @ChildWinMinimize, 0) Но в этом случае, сворачиваются даже элементы цельных окон, что нам, конечно, совершенно не требуется. Уважаемые гуру программирования, Гики Всея Руси, подскажите, плз, как перечислить необходимые окна, дабы отправить им весть о необходимости минимизироваться. |
#2
|
||||
|
||||
![]() А что, в этой среде нет Application.Minimize?
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() тожа нифига не понял. пример есть?
Пишу программы за еду. __________________ |