Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2013, 17:05   #11
lollollollol
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 218
По умолчанию

А как это длеается? Вот я запустил стол 1, там есть n окон. их спрятал. Потом мне нужно отобразить на столе 2 в миниатюре скрин стола один. Для этого требуется получить скрины окон с первого стола.

таких столов может быть хоть 20 хоть 30.
lollollollol вне форума Ответить с цитированием
Старый 03.06.2013, 17:18   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
там есть n окон. их спрятал.
Спрятал зачем?
Это во-первых. Во-вторых, можно задать им Parent, дабы они отрисовывались на твоей форме. В-третьих можно перехватить их оконную процедуру.
В четвертых можно использовать удаленный рабочий стол.
Еще раз спрашиваю - какова цель сего ваяния?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2013, 18:06   #13
lollollollol
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 218
По умолчанию

Я пояснил зачем это. Давайте по делу.

Цитата:
Спрятал зачем?
А как иначе, я окна прячу, записываю их хендл, получается массив окон которые принадлежат вирт столу номер 1.
Цитата:
Во-вторых, можно задать им Parent, дабы они отрисовывались на твоей форме.
Непойму, зачем из на моей форме отрисовывать? Есть форма, на ней иконки. При наведении на иконку должен появиться скрин окна другого вирт стола(например я на столе 2, а смотрю какие окна на столе 1). Нужно скрин, как показывает винда при наведении в пуске в win7 на значок окна.

Цитата:
В-третьих можно перехватить их оконную процедуру
Это позволит получить их скриншот даже если окно скрыто? подскажи как

Цитата:
В четвертых можно использовать удаленный рабочий стол.
Причём тут удалённый рабочий стол? я хочу сделать красивую утилиту Вирт стола, смысл который просто в удобной работе с открытми окнами.
lollollollol вне форума Ответить с цитированием
Старый 03.06.2013, 18:18   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я хочу сделать красивую утилиту Вирт стола, смысл который просто в удобной работе с открытми окнами.
Теперь я понял что тебе нужно. Это переключатель рабочих столов как в Гноме Линукса. Я то думал что тебе что-то типа терминала нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2013, 18:22   #15
lollollollol
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 218
По умолчанию

Ага, может подскажешь где чего почитать по теме, или как скрин получить?
lollollollol вне форума Ответить с цитированием
Старый 03.06.2013, 20:36   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот как скрин в таких условиях получать я не скажу, из всего что про это знаю, так это уже написанные проги. Одно дело если тебе просто нужно часть окон спрятать, а потом восстанавливать - это не сложно. А вот получать эскизы этих окон...
Тут два варианта: Либо получать эскизы перед спрятыванием и просто их не обновлять, либо искать какие-то хитрые пути, что к примеру Aero в Севене использует.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2013, 21:16   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
что к примеру Aero в Севене использует.
так окно не перестает перерисовыватся, и вполне получает сообщения о перерисовке с системным контекстом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.06.2013, 22:30   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
окно не перестает перерисовыватся, и вполне получает сообщения о перерисовке с системным контекстом.
В таком случае получается достаточно получить его DC функцией GetDC() и слизывать с него канву путем того же StretchBLT().
Верно я понял твою мысль?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2013, 23:28   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В таком случае получается достаточно получить его DC функцией GetDC() и слизывать с него канву путем того же StretchBLT().
Верно я понял твою мысль?
поидее да, так как отлично помню моменты что порою игры даже перерисовываются в пиктограммы(у меня 8-рка правда).
но я не пробовал.

поидее экплорер, то же обычная программа, значит доступно же.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.06.2013, 02:39   #20
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Это позволит получить их скриншот даже если окно скрыто? подскажи как
хукаешь оконную процедуру, там ловишь WM_HIDE, SC_MINIMIZE,SC_RESTORE, WM_SHOW*, и перед/после них делаешь скриншот окна и продолжаешь цепочку сообщений.

Про перехват API на хабре от _Rouse есть БО00льшая статья.


Цитата:
поидее экплорер, то же обычная программа, значит доступно же.
Врятли. Да есть API панели задач, можно запрещать/разрешать кнопки, окна, дофига окон в одной кнопке и прочее...
Explorer - вообще отдельная тема полная всяких интересных фиговин к которым нет доступа.

Цитата:
поидее да, так как отлично помню моменты что порою игры даже перерисовываются в пиктограммы(у меня 8-рка правда).
но я не пробовал.
Круче, видео в real-time в миниатюре смотреть можно, даже если окно плеера свернуто.

Последний раз редактировалось Человек_Борща; 04.06.2013 в 02:45.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Form SHOW HIDE и виндовые окна AK BULLETS Общие вопросы Delphi 11 27.02.2015 11:32
Скриншот окна Kukurudza Win Api 2 08.04.2013 13:22
скриншот неактивного окна Pamparam Общие вопросы Delphi 0 23.01.2012 19:43
Как запустить консольное приложение, без окна, типа Hide? XerSon Общие вопросы Delphi 4 28.02.2011 10:33
Hide окна Horus92 Общие вопросы Delphi 5 09.12.2009 23:36