Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.12.2008, 15:44
Аватар для AnnLee
AnnLee AnnLee вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 12
Репутация: 10
По умолчанию Скриншоты

Помогите, пожалуйста!
Как можно отследить обращение программы(другой) к экрану, то есть, узнать что другая программа делает скриншоты. Вот. Если можно, объяснить как это вообще происходит(само снятие скриншотов).
Ответить с цитированием
  #2  
Старый 06.12.2008, 15:51
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка

Для защиты чего это будет использоваться ?

Сделать скриншот можно, н-р, эмулировав нажание сочетания клавиш на клавиатуре или просто вручную нажав кнопочки. Можно это перехватить глобальным хуком на клаву.

Последний раз редактировалось Vayrus, 06.12.2008 в 15:56.
Ответить с цитированием
  #3  
Старый 06.12.2008, 16:03
Аватар для AnnLee
AnnLee AnnLee вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 12
Репутация: 10
По умолчанию

защита от шпионских программ - так можно назвать, глобальный хук на клаву здесь не подходит, наверное...
Ответить с цитированием
  #4  
Старый 13.12.2008, 16:07
Аватар для AnnLee
AnnLee AnnLee вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 12
Репутация: 10
По умолчанию

Что, никто ничего об этом не знает...

Последний раз редактировалось AnnLee, 13.12.2008 в 16:11.
Ответить с цитированием
  #5  
Старый 13.12.2008, 17:08
Аватар для 0nni
0nni 0nni вне форума
Начинающий
 
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
По умолчанию

Отловить впринципе невозможно, нужно для всех процессов перехватывать GetDc, GetWindowDC и возможно еще что то...
Есть способ защитить форму от возможности попасть в скриншот с вероянтостью 99%
Код:
  AlphaBlend := True;
  AlphaBlendValue := 255;
После этого форма не будет попадать в снимок экрана
___
правда, не знаю как это в Висте будет работать

Последний раз редактировалось 0nni, 13.12.2008 в 17:24.
Ответить с цитированием
  #6  
Старый 13.12.2008, 17:21
Аватар для AnnLee
AnnLee AnnLee вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 12
Репутация: 10
По умолчанию

А как можно перехватывать GetDc, GetWindowDC? Мне наверно это и надо сделать
Ответить с цитированием
  #7  
Старый 13.12.2008, 17:39
Аватар для 0nni
0nni 0nni вне форума
Начинающий
 
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
По умолчанию

http://www.wasm.ru/article.php?article=apihook_1
http://www.wasm.ru/article.php?article=apihook_2
http://www.wasm.ru/article.php?article=apihook_3
Это вообще по перехвату api... но честное слово, это довольно трудоемко, + вам прийдется ставить хук на создание процессов и загружать в каждый свою dll что бы перехватить вызов + анализировать параметры передаваемые на перехватываемые GDI функции что бы понять работает приложение со своим окном или со всем экраном + код не должен содержать ошибок!
Я сказал есть пути решения вышей задачи, но это, ой, какой геморой.
Вариант с прозрачностью работает в большинстве случаев и в сравнении с первым, вообще не требует усилий.
__________________
...сказал, и загрустил от бесспорной своей правоты

Последний раз редактировалось 0nni, 13.12.2008 в 17:41.
Ответить с цитированием
  #8  
Старый 14.12.2008, 13:38
Аватар для AnnLee
AnnLee AnnLee вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 12
Репутация: 10
По умолчанию

Спасибо, 0nni! Сейчас начну разбираться с этим всем...
Ответить с цитированием
  #9  
Старый 14.12.2008, 15:09
Аватар для 0nni
0nni 0nni вне форума
Начинающий
 
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
По умолчанию

Если это не шутка, то успехов
__________________
...сказал, и загрустил от бесспорной своей правоты
Ответить с цитированием
  #10  
Старый 14.12.2008, 22:58
Аватар для AnnLee
AnnLee AnnLee вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 12
Репутация: 10
По умолчанию

Не, не шутка, спасибо
Ответить с цитированием
  #11  
Старый 14.12.2008, 23:24
Аватар для Рудольф
Рудольф Рудольф вне форума
Прохожий
 
Регистрация: 08.02.2008
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от 0nni
Отловить впринципе невозможно, нужно для всех процессов перехватывать GetDc, GetWindowDC и возможно еще что то...
Есть способ защитить форму от возможности попасть в скриншот с вероянтостью 99%
Код:
  AlphaBlend := True;
  AlphaBlendValue := 255;
После этого форма не будет попадать в снимок экрана
___
правда, не знаю как это в Висте будет работать


В Висте не работает) Что есть, что нет кода- на скрине окошко остаётся
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:46.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025