Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.02.2014, 18:53
Sheleh Sheleh вне форума
Прохожий
 
Регистрация: 21.12.2009
Сообщения: 4
Репутация: 10
По умолчанию WDE - Wine Desktop Environment

Wine, на мой взгляд, уже достиг значительных успехов в реализации АПИ подсистемы windows. Но проект заточен под окружение линуха, хотя уже реализованы возможности сделать это окружение средствами самого wine' a. А ведь правда, почему бы не представить такую операционную систему, наподобие андройда, где за железо отвечает линух, а верхний уровень представляет собой win-совместимый слой.
Но это все присказка, мои тараканы. Они меня толкают на создание explorer.exe работоспособного в среде wine, ибо ничего из существующего в этой среде пока не работает.

Я никогда не опускался ниже уровня Delphi, но что то в жизни иногда надо менять, и пусть Delphi в вайне работает нормально, все же я выбрал более идеологически линух-родственную среду - Lazarus. Win32 Lazarus. Который тоже под вайном работает на должном уровне.

Ну и собственно к самому вопросу, касаемо explorer.exe. Его реализацию я начал с taskbar'а. И тут же начались первые несовместимости. Где под ХР все работает как и ожидалось, в вайне не работает ничего. Оно и понятно, вайн не затачивался под управление окнами из собственной среды, и многие функции не реализованы. Стало быть надо как то их в собственном експлорере допиливать мелким надфилем.

Одна из самый острых проблем - как сворачивать приложения, состоящие не из одного окна? Что, делфи, что лазарус, состоят из нескольких разных окон. И посыл родителю SW_MINIMIZE сворачивает только главное, остальные висят как ни в чем не бывало. Т.е. вайн при сворачивании главного не обращает внимания на дочерние, и это надо делать самостоятельно. Я не силен в АПИ, но понимаю, что их как то надо найти и послать им соответствующее сообщение. Что то вроде EnumChildWindows(hwd, @ChildWinMinimize, 0)

Но в этом случае, сворачиваются даже элементы цельных окон, что нам, конечно, совершенно не требуется.

Уважаемые гуру программирования, Гики Всея Руси, подскажите, плз, как перечислить необходимые окна, дабы отправить им весть о необходимости минимизироваться.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:22.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025