| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Получить снимок экрана наподобие RAdmin/DameWare |
| Автор: Budy 15.11.2007, 05:58 |
| :Приветствую Делаю программу управления рабочим компом из дома. И вот озадачился. Необходимо получить снимок экрана. Вы, конечно, сейчас думаете "блин, почему ты не пользуешься поиском!". Спешу опередить Ваши недовольства, мне необходимо необычное "фотканье" экрана. Дело в том, что по простою (когда долго ничего за компом не делать) компьютер блокируется и выходит в логон. Другими словами скрывается рабочий стол пользователя и выводится окно ввода пароля для разблокировки компьютера. Если в этом случае делать снимок средствами BitBlt, то вместо снимка рабочего стола я получаю белый "холст". Тот же холст программа выведет если она работает под одним пользователем на компьютере, а активен совершенно дургой. Заметил, что программы Remote Administrator как и Dame Ware используют другую технологию, а точнее получают тот поток вывода графики, который выводится напрямую на монитор. Я пробовал искать исходники подобных программ, но все в пустую. |
| Автор: MetalFan 15.11.2007, 09:11 |
| знаю тут одного человека, который с такой задачкой разбирался... жди, может он заметит эту тему) |
| Автор: Budy 15.11.2007, 12:08 |
| MetalFan, можешь подсказать, что за человек? |
| Автор: Alexeis 15.11.2007, 15:03 |
| Budy, Ak47black активно решал этот вопрос. Можешь запустить поиск по его нику, не пропустишь нужную тему Добавлено через 4 минуты и 31 секунду О вот оно http://forum.vingrad.ru/index.php?show_type=forum&showtopic=131826 |
| Автор: Budy 16.11.2007, 07:03 |
| Посмотрел... это не то. В привиденной теме говорят про видео/аудио. А меня интерисует единичный снимок экрана. |
| Автор: RA 17.11.2007, 05:03 |
| а не может быть так что в данных условиях BitBlt доступно только сервисам и системным процессам ? Добавлено через 11 минут и 3 секунды ps: а через GetDC тоже не работает? |
| Автор: Ak47black 17.11.2007, 15:46 |
| Если стол неактивен то и прорисовываться он не будет, поэтому ты и получаешь белую прямоугольник. Хотя незнаю. |
| Автор: Budy 19.11.2007, 06:12 | ||
RA, с GetDC собсно и не получается:
|
| Автор: Budy 19.11.2007, 07:46 |
| Ak47black, однако тот же Remote Administrator без проблем получает картинку... |
| Автор: Ak47black 19.11.2007, 12:37 |
| Он юзает свой драйвер дисплея. Проше уж заглянуть в DRKB3 и написать в поиске Получение изображения экрана, и заюзать чтото из тех функций, чем делать этот драйвер. + Если понял правильно Remote Administrator работает как Service, а не как обычная запушенная прога, ведь если ты будешь делать Logoff то и прога твоя выгрузиться. |
| Автор: Budy 20.11.2007, 06:13 | ||
| Ak47black, Radmin не обязательно может работать как сервис, его сервер можно также запускать от имени юзера. Программа не будет выгружается при логофе, она работает, вот попробуй вот этот код:
Попробуй запустить программу и выйти в логоф, потом снова зайти. Во время логофа у меня и на рабочем компе (Windows Server 2003) и на домашнем (XP SP2) отображает белую картинку. Добавлено через 12 минут и 53 секунды В DRKB уже все перелазил, ничего не могу найти... может руки кривые, ищу не так? Пробовал по содержанию смотреть, пробовал поиском пользоваться пос ловам: экран снимок изображение поток и пр. Везде примеры с BitBlt или даже PaintDesktop'ом (а это просто копирование картинки рабочего стола). Пробовал искать исходники, все сводится к одному. |