Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить снимок экрана наподобие RAdmin/DameWare, получить поток вывода на экран 
:(
    Опции темы
Budy
Дата 15.11.2007, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



:Приветствую
Делаю программу управления рабочим компом из дома. И вот озадачился. Необходимо получить снимок экрана. Вы, конечно, сейчас думаете "блин, почему ты не пользуешься поиском!". Спешу опередить Ваши недовольства, мне необходимо необычное "фотканье" экрана.
Дело в том, что по простою (когда долго ничего за компом не делать) компьютер блокируется и выходит в логон. Другими словами скрывается рабочий стол пользователя и выводится окно ввода пароля для разблокировки компьютера. Если в этом случае делать снимок средствами BitBlt, то вместо снимка рабочего стола я получаю белый "холст". Тот же холст программа выведет если она работает под одним пользователем на компьютере, а активен совершенно дургой.
Заметил, что программы Remote Administrator как и Dame Ware используют другую технологию, а точнее получают тот поток вывода графики, который выводится напрямую на монитор.
Я пробовал искать исходники подобных программ, но все в пустую.



--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
MetalFan
Дата 15.11.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



знаю тут одного человека, который с такой задачкой разбирался...
жди, может он заметит эту тему)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Budy
Дата 15.11.2007, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



MetalFan, можешь подсказать, что за человек? smile



--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 15.11.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Budy, Ak47black активно решал этот вопрос. Можешь запустить поиск по его нику, не пропустишь нужную тему smile .

Добавлено через 4 минуты и 31 секунду
О вот оно http://forum.vingrad.ru/index.php?show_typ...howtopic=131826


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Budy
Дата 16.11.2007, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



Посмотрел... это не то. В привиденной теме говорят про видео/аудио. А меня интерисует единичный снимок экрана.


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
RA
Дата 17.11.2007, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



а не может быть так что в данных условиях  BitBlt доступно только сервисам и системным процессам ?

Добавлено через 11 минут и 3 секунды
ps: а через GetDC тоже не работает?
PM   Вверх
Ak47black
Дата 17.11.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Если стол неактивен то и прорисовываться он не будет, поэтому ты и получаешь белую прямоугольник. Хотя незнаю.

Это сообщение отредактировал(а) Ak47black - 17.11.2007, 16:15
PM MAIL   Вверх
Budy
Дата 19.11.2007, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



RA, с GetDC собсно и не получается:
Код

with TBitMap.Create do
  begin
    Width:=Screen.Width;
    Height:=Screen.Height;
    BitBlt(Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);
    SaveToFile('snap.bmp');
    Free;
  end;




--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Budy
Дата 19.11.2007, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



Ak47black, однако тот же Remote Administrator без проблем получает картинку...


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Ak47black
Дата 19.11.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Он юзает свой драйвер дисплея.
Проше уж заглянуть в DRKB3 и написать в поиске Получение изображения экрана, и заюзать чтото из тех функций, чем делать этот драйвер.
+ Если понял правильно Remote Administrator работает как Service, а не как обычная запушенная прога, ведь если ты будешь делать Logoff то и прога твоя выгрузиться.

Это сообщение отредактировал(а) Ak47black - 8.12.2007, 12:41
PM MAIL   Вверх
Budy
Дата 20.11.2007, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



Ak47black, Radmin не обязательно может работать как сервис, его сервер можно также запускать от имени юзера. 
Программа не будет выгружается при логофе, она работает, вот попробуй вот этот код:
Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Tag:=Timer1.Tag+1;
  with TBitMap.Create do
  begin
    Width:=Screen.Width;
    Height:=Screen.Height;
    BitBlt(Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);
    SaveToFile('snap'+IntToStr(Timer1.Tag)+'.bmp');
    Free;
  end;
end;

Попробуй запустить программу и выйти в логоф, потом снова зайти.
Во время логофа у меня и на рабочем компе (Windows Server 2003) и на домашнем (XP SP2) отображает белую картинку.

Добавлено через 12 минут и 53 секунды
В DRKB уже все перелазил, ничего не могу найти... может руки кривые, ищу не так? Пробовал по содержанию смотреть, пробовал поиском пользоваться пос ловам: экран снимок изображение поток и пр. Везде примеры с BitBlt или даже PaintDesktop'ом (а это просто копирование картинки рабочего стола). Пробовал искать исходники, все сводится к одному.


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.