Конференция "Основная" » Как получиьт изображение окна?
 
  • @!!ex © (06.12.07 23:27) [20]
    > [19] homm ©   (06.12.07 23:25)

    Под XP она работает. Если я правильно помню, под 2000 тоже.
  • @!!ex © (06.12.07 23:27) [21]
    Ты так докапываешься, какбудто я себя зарекомендовал как брехун редкостный.
  • homm © (06.12.07 23:34) [22]
    > [20] @!!ex ©   (06.12.07 23:27)

    http://soft.mydiv.net/win/download-TopDesk.html
    ???

    у меня при запуске она посемуто все окна передернула на верх по очереди в нужных размеров. Не догадываешся, зачем? :)
  • @!!ex © (06.12.07 23:35) [23]
    Инс, спасибо!
    PrintWindow делает то что нужно!! Правда работает непрозрачно, явно чето над окнами творит, но результата достигает! что и нужно!
  • @!!ex © (06.12.07 23:36) [24]
    > [22] homm ©   (06.12.07 23:34)

    При запуске чего?
  • homm © (06.12.07 23:37) [25]
    > [24] @!!ex ©   (06.12.07 23:36)

    При запуске TopDesk.
  • turbouser © (06.12.07 23:39) [26]

    > homm ©   (06.12.07 23:34) [22]

    Я же говорил :))
  • @!!ex © (06.12.07 23:41) [27]
    > [25] homm ©   (06.12.07 23:37)

    Ну и как окна которые были видимы при запуске TopDesk скажутся на переключении окон в процессе работы?
    Фича в том, что даже если окно обновилось на заднем фоне, то при переключении с помощью TopDesk'а оно все равно будет с корректной информацией.
  • @!!ex © (06.12.07 23:42) [28]
    > Я же говорил :))

    Ты был не прав.
    Читай 27. В процессе работы он никакие окна на передний план не выносит.
  • @!!ex © (06.12.07 23:53) [29]
    Ну короч вопрос решенный.
    PrintWindow получает изображения любого окна.
    Единственно, после работы нужно InvalidateRect(0,nil,true); сделатЬ, чтобы изображение на экране было нормальное.
  • homm © (06.12.07 23:54) [30]
    > [27] @!!ex ©   (06.12.07 23:41)
    > Фича в том, что даже если окно обновилось на заднем фоне,
    > то при переключении с помощью TopDesk'а оно все равно будет
    > с корректной информацией.

    Мое мнение: обновление происходит раз при старте, и когда контекст переключен на другую поверхность, и с первичным можно делать все, что угодно, ставя окна на паредний план.
  • @!!ex © (06.12.07 23:55) [31]
    > [30] homm ©   (06.12.07 23:54)

    PrintWindow работает заметно быстрее чем перебор окон у TopDesk'a. так что это не правильный метод, ИМХО
  • homm © (06.12.07 23:58) [32]
    > [31] @!!ex ©   (06.12.07 23:55)
    > PrintWindow работает заметно быстрее чем перебор окон у
    > TopDesk'a

    Справку по PrintWindow внимательно читал? Устраивают ограничения? Ты вроде хотел, что-бы в 2к тоже работало.
  • turbouser © (07.12.07 00:55) [33]

    > @!!ex ©

    Заставил таки меня влезть в мсдн :-)
  • KSergey © (07.12.07 07:10) [34]
    Прикольно, при этом написано, что WM_PRINT поддержана на NT 4.0 and later, а вот PrintWindow - XP and .NET Server.
    Однако же: This function [PrintWindow] is similar to WM_PRINT
  • ЗапомниСынок (07.12.07 09:32) [35]
    Я в свое время хотел написать простенький бот для PartyPoker, пытался считывать инфу со стола, несколько дней возился, пытаясь снять скрин-шот с закрытого окна, так и не удалось. Оказывается плохо искал...
  • @!!ex © (07.12.07 10:58) [36]
    > [34] KSergey ©   (07.12.07 07:10)

    Может быть фича в том, что PrintWindow хитро окна перебирает. Во всяком случае визуально это очень быстрая операция. Скорее всего такой перебор возможен только через хитрую функциЮ, которой раньше не было.


    > [35] ЗапомниСынок   (07.12.07 09:32)

    Не факт, что с закрытыми окнами будет работать, с перекрытыми точно работает. Еще вопрос как оно будет с StayOnTop. Но это легко проверяется.
  • @!!ex © (07.12.07 11:00) [37]
    С invisible окон тоже скриншот снимается! *COOL* :)
  • Sapersky (07.12.07 14:15) [38]
    Есть ещё такая библиотека SPrintWindow, которая, как утверждает автор, может работать и в 2000, но она, похоже, так и не вышла из состояния "беты". С учётом того, что используется хакерский метод (собственный драйвер), это вызывает определённые опасения...
    http://expire.free.fr/board/index.php?showtopic=109
 
Конференция "Основная" » Как получиьт изображение окна?
Есть новые Нет новых   [133939   +173][b:0][p:0.001]