-
Возник такой вопрос, а можно ли вообще сделать скриншот свёрнутого окна? Прочитал статейки, говорят про PrintWindow. Однако, PrintWindow может лишь помочь получить скриншот окна, на которое сверху накладываются другие, но не свёрнутого. Вообще, когда окно сварачивается, windows перестаёт его отрисовывать, надо понимать. Так как же здесь быть? Неужели такая задача не решаема? Возникла мысль, если ответ на первое - нет, то можно ли как-то заставить windows отрисовать свёрнутое окно на канве скажем кона моей программы, т.е. обмануть его таким образом, чтобы он, windows после того, как окно свёрнуто, начинал его отрисовывать в окне моей программы ну или вроде того что-то ... В windows vista при подведении курсора к свёрнутому окну, оно отрисовывается в небольшом окне предпросмотра, вот что-то типа того, хочется сделать) Помогите советом, уважаемые гуру!)
-
> hattak © (27.01.10 02:29) > > Возник такой вопрос, а можно ли вообще сделать скриншот > свёрнутого окна?
Какой скриншот, если окно минимизировано?!
-
я кажется объяснил, я понимаю что оно не отрисовывается и просил, возможно ли "заставить" windows начать отрисовывать его в окне моей программы ... пример - предпросмотр свёрнутых окон в висте ...
-
хм...а хендл окна есь?)
-
есть)) wH := FindWindow(nil, PChar('заголовок окна'); это не проблема, но хендл окна тут не поможет когда окно свёрнуто, хендл окна пуст, винда перестаёт отрисовывать окно, НО некоторые программы умеют делать скриншоты свёрнутых окон игр, скажем ...
-
> hattak © (27.01.10 02:45) [2] > > я кажется объяснил
Когда кажется, креститься надо.
-
> Когда кажется, креститься надо.
большое спасибо за ваши комментарии не по делу)
-
> [0] hattak © (27.01.10 02:29)
> В windows vista при подведении курсора к свёрнутому окну, > оно отрисовывается в небольшом окне предпросмотра, вот > что-то типа того, хочется сделать)
если бы в XP можно было - давно бы сделали )
-
тому кто сподвиг меня изучать делфи как-то удавалось...тока я не знаю как - попробую разузнать...=)
как вариант - быстро разворачиваем окно,делаем его скриншот и сворачиваем обратно...=))
> В windows vista при подведении курсора к свёрнутому окну, оно отрисовывается в небольшом окне предпросмотра, вот > что-то типа того, хочется сделать)
не думаю что в висте и семёрке делают скриншот свёрнутого окна,а потом его ещё и уменьшают - нерационально так... наверное при сворачивании запоминаются миниатюры и всё.
да и как вы узнаете что навели курсор на кнопку вашего приложения в панели на которой пуск(не помню как правильно зовётся)?
-
> если бы в XP можно было - давно бы сделали )
так она давно есть, зараза ... http://soft.oszone.net/program/3826/Visual_Task_Tipsпожалуйста, у меня стоит и работает, всего 100 кб ... при наведении курсора мыши на СВЁРНУТОЕ окно показыватся его скриншот! так что очень даже можно, не смотря та то, что тут некоторые возмущаются, но вот как о.О не, развернуть и свернуть это не тема совсем ... вычитал где-то, что в винде свёрнутое окно, на самом деле просто убирается за вилимую облась экрана ... проверил ... при сворачивании координаты окна меняются на -32000 - 32000 но всё равно скорировать оттуда область не получилось, т.е. я сдвинул область копирования в эти координаты, но опять же ничего ...
-
потестил...оно так и работает как я говорил - при сворачивании запоминаются миниатюры и всё.=) наверное поставили хук на сворачивание, но я ещё не изучал как хуками пользоваться - придётся поиск мучать.=))
-
эта зараза ещё и многослойные окна как-то портит...о_О *
-
-
говорят же - нельзя, а ты не веришь )
-
мдя, пригляделся, видимо она делает PrintWindow в момент открытия окна)) хех, ну ладно, вопрос изначально ставился, можно ли ... нельзя так нельзя, спасибо всем!)))
-
> видимо она делает PrintWindow в момент открытия окна
в момент перед сворачиванием через хуки WH_SHELL и WH_CALLWNDPROC
-
Бох ты мой, ну разверни свернутое окно и двинь его в координаты -100000 по X и Y, сделай скрин и положи туда где лежало :)
|