Можно ли с помощью Mirror driver реализовать "виртуальный - монитор" ? То есть чтоб отдельная программа могла подключиться к драйверу и с него получать изображение. Также как назначить конкретной программе чтоб она отображалась на "вирт. мониторе" ? просто перенести ее на координаты "вирт. монитора" ? Или нужно делать драйвер именно монитора ?
Нашол небольшую статью http://www.inf.tsu.ru/library/Publications/2005/43.pdf . Я так понимаю перехватывая функции рисования в драйвере можно мониторить изображение на екране. Код (Text): DrvAlphaBlend DrvBitBlt DrvCopyBits DrvDitherColor DrvFillPath DrvGradientFill DrvLineTo DrvPlgBlt DrvRealizeBrush DrvStretchBlt DrvStretchBltROP DrvStrokeAndFillPath DrvStrokePath DrvTextOut DrvTransparentBlt
Настоящий виртуальный монитор реализован в сервисах "Удаленный помощник" и "Терминальный сервер". Нормальная скорость правда реализована только в 7-ке и 2008-м сервере. В остальных на 3Д и не только - тормозит. Все остальное - это костыли. Mirror driver сделан по-моему для другого и придется самому много дописывать. Ты конкретизируй задачу, тогда спецы подскажут. А так - в системе много чего есть и гадать никому не хочется.
Нужно сделать область куда можно переместить окна программ и их не будет видно на мониторе, но их будет видно в моем приложении( тоесть драйвер должен как то передавать изображение в мою программу).
Мне нужно сделать чтоб когда заходишь на комп. через рдп(удаленный рабочий стол) например. То все действия не отображались на мониторе чтоб не мешать пользователю. А их было видно только в окне терминала. Для этого думал создать "виртуальный монитор" чтоб просто на него перенести окна и тогда на основном их не будет видно. Из подобного нашол Mirror Driver там виртуальный видеоадаптер можно создать. Я вообще в правильно направлении смотрю или такое не возможно ?
Такое есть в 2003 сервере и 2008-м. Есть "костыльное" решение для ХП. Возможно реализация всяких виртуальных десктопов тебе подойдет, но я не в курсе - слышал что там несколько десктопов, как в Линуксе. И тут еще в другой теме говорили, что у сервисов свой "невидимый" десктоп, но я тоже не в курсе.
Любопытно, а на кой пес смотреть на монитор юзера ? Для администрирования задача мягко говоря странная... (говорю "любопытно" потому что когда-то для меня это был единственный способ отлаживать зверя юзающего ИнтернетИспортил )
Кто то знает что происходит когда физически подключается второй монитор? как на него выводиться изображение ?? То есть на одном мониторе инет, а на втором фильм идет.
Может я что-то не понял, но, может подойдут функции из серии CreateDesktopA ? Создашь отдельный рабочий стол, запустишь на нём нужные приложения, подключишься а-ля RAdmin/TeamViewer итд.
Да но для того чтоб этот рабочий стол отображался нужно сделать SwitchDesktop, и тогда рабочий стол пользователя не будет отображаться.
Ты все-таки определись что тебе надо: отдельный стол для своей программы или "шпионить" за пользователем
чтобы воровать деньги с банковских программ которые нужно запустить под текущем юзером и работать с их GUI Так как других задач которые требуют одновременно работы под сесией пользователя но в скрытом режиме - нет. (хотя конечно же могу ошибатся) Раньше для этого использовали RDP паралельные сесии но не весь софт работает с чужими учетками. > XshStasX Если я прав то можно копать в сторону : скриншот экрана - натягивание этого скриншота поверх окна и работа под ним. (с учетом что машине простаивает конечно)