Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | |
NetMeeting -> Share Program -> Descktop 21.10.03 14:41 Число просмотров: 1316
Автор: sem4a Статус: Незарегистрированный пользователь
|
Вот по какой технологии сделан этот сервис
|
<programming>
|
[Win32] Интересный вопрос! 21.10.03 10:59
Автор: Darkhelmet Статус: Незарегистрированный пользователь
|
Наверное все видели такую "штуку", как удаленное управление рабочим столом в Windows 2000/XP и т.п., никто не думал, как это реализованно!
По моим наблюдениям там скриншоты дерутся, а вот как реализованно
это не совсем понятно, если кто знает технологию, поделитесь!
|
|
Если вопрос оставить без изменения, 21.10.03 11:32
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 21.10.03 11:33 Количество правок: 1
|
> Наверное все видели такую "штуку", как удаленное управление > рабочим столом в Windows 2000/XP и т.п., никто не думал, > как это реализованно!
а именно: "как это реализовано?", то это только могут ответить авторы, те, которым авторы это рассказали, или хакеры, которые декомпильнули программы удаленного управления.
> По моим наблюдениям там скриншоты дерутся, а вот как > реализованно > это не совсем понятно, если кто знает технологию, > поделитесь!
Если же вопрос переиначить, а именно: "как это может быть реализовано?", то я бы предложил несколько решений. Можно сдирать экран, а для ускорения путем уменьшения передаваемых данных, передавать только изменения - вычитать точки из переданного в предыдущий раз скриншота, ограничивать область изменений - отсекать нулевые (после вычитания точки, то есть не изменившиеся) сверху, снизу, справа, слева, потом изображение можно еще и сжать алгоритмом "без потерь" GIF, например. Передать его с атрибутами (координаты, сжатость, только изменения или весь экран).
Еще один метод - передается экран (можно сжатый), затем отслеживаются изменения и они то и передаются. Поскольку изображение формируется чаще всего примитивами (а не битмэповой картинкой), объем передаваемой информации будет очень мал. Например: рисуем активное окно с размерами Х, У, со смещением ДХ, ДУ, заголовок "ЗАГОЛОВОК", цвет фона 0хffffffff; вывести текст по координатам, со смещением внутри окна, цвета текста, фона, начертание, сам текст "тра ля ля". Объем переданной информации будет значительно меньше, чем передаваемых обрезанных сжатых скриншотов.
|
| |
Если вопрос оставить без изменения, 21.10.03 11:45
Автор: Darkhelmet Статус: Незарегистрированный пользователь
|
> Еще один метод - передается экран (можно сжатый), затем > отслеживаются изменения и они то и передаются. Поскольку > изображение формируется чаще всего примитивами (а не > битмэповой картинкой), объем передаваемой информации будет > очень мал. Например: рисуем активное окно с размерами Х, У, > со смещением ДХ, ДУ, заголовок "ЗАГОЛОВОК", цвет фона > 0хffffffff; вывести текст по координатам, со смещением > внутри окна, цвета текста, фона, начертание, сам текст "тра > ля ля". Объем переданной информации будет значительно > меньше, чем передаваемых обрезанных сжатых скриншотов. А если сложные окна со дочерними окошками... То чего делать? СОздавать дочернии окна?
|
| | |
Посмотри VNC - он open source 21.10.03 11:58
Автор: amirul <Serge> Статус: The Elderman
|
> А если сложные окна со дочерними окошками... То чего > делать? СОздавать дочернии окна? Передаются не окна, а десктоп. То бишь прямоугольное поле пикселов и не важно что на нем нарисовано окна или нет. Как уже было сказано, передаются только изменения. Кроме того некоторые алгоритмы дейтсвительно смотрят глубже десктопа (окна и прочее): например для того, чтобы не передавать бекграунд окон и рабочего стола.
|
| | | |
Посмотри VNC - он open source 21.10.03 12:14
Автор: Darkhelmet Статус: Незарегистрированный пользователь
|
> > А если сложные окна со дочерними окошками... То чего > > делать? СОздавать дочернии окна? > Передаются не окна, а десктоп. То бишь прямоугольное поле > пикселов и не важно что на нем нарисовано окна или нет. Как > уже было сказано, передаются только изменения. Кроме того > некоторые алгоритмы дейтсвительно смотрят глубже десктопа > (окна и прочее): например для того, чтобы не передавать > бекграунд окон и рабочего стола. Так в принципе я и думал... Брать foregroundwindow и драть его скриншот...
Он конечно меньше чем весь экран... Но вот к примеру когда открывается
меню при нажатии кнопки Пуск, его чего-то размер я не смог содрать..
|
| | | | |
Прошу вопросы по технологии 21.10.03 14:46
Автор: sem4a Статус: Незарегистрированный пользователь
|
я разрабатывал подобный продукт, единственное отличие в том что я делал была возможность многих users видеть что показывает ведуший user
|
| | | | |
NetMeeting -> Share Program -> Descktop 21.10.03 14:41
Автор: sem4a Статус: Незарегистрированный пользователь
|
Вот по какой технологии сделан этот сервис
|
|
|