Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мастера помогите. [D6, Win95/98]


Алексей Ч. ©   (2003-01-17 02:21:00) 

Возможно ли поймать событие, момент, когда какая-либо программа снимает скриншот с экрана?


Новенький в Делфи   (2003-01-25 02:53:00) [1]

В общем делается это так:
1) блокируем клаву
2) убиваем все не нужные и левые процессы
3) чистим постоянно буфер (так на всякий случай)
4) умалчиваем свои координаты, что бы юзеры не нашли :)


Алексей Ч.   (2003-01-25 01:59:00) [2]

Ммм..., а если буфер здесь ни при чем, а скриншот уходит сразу по сети...?


Сатир   (2003-01-19 20:35:00) [3]

Вопрос по теме:
как заблокировать кнопку "пуск" в фотоаппарате, которым хотят сфотографировать скриншот моей программы?


An   (2003-01-19 17:25:00) [4]

Побольше бы здесь умных...

Еще два дня назад (см. выше) я задавался вопросом о блокировке горячих клавиш screenshoter-ов. И вот сегодня докачал SDK DirectX 8.1 и нахожу интересный пример под названием "DirectInput Keyboard Sample", в который позволяет выбрать режим клавы: Exclusive и Nonexclusive. При выборе Exclusive - screenshoter-ы могут отдыхать.

http://rc4wa.narod.ru


Й   (2003-01-19 05:10:00) [5]

Удалено модератором
Примечание: Надо же какой умный нашёлся...


Моджахед   (2003-01-19 01:34:00) [6]

2 Danlicha ©
Как раз "кривая палитра" при DirectDraw уж совершенно ни причем. На то он и Дайрект, что все GDI функции его не касаются ;)

2 Алексей Ч.
А вообще, задача, конечно, не решаема в пределах GDI. Кроме извратов с более менее прямым выводом на экран, через тот же дайректдро. Но отследить появления картинки в клипборде реально и просто. См. мой пред. пост.


Danlicha   (2003-01-18 01:03:00) [7]

CorelCapture, например, умеет не только в клипборд класть. И в файлик тоже. Так, что, никак. Хотя, вроде, эта-же CorelCapture не умеет копировать изображение, нарисованное в DirectDraw в полноэкранном режиме с кривой палитрой :))


Моджахед   (2003-01-18 00:02:00) [8]

Наверное, классический способ выглядит примерно так:

1) регистрируешь себя в цепочке clipboard viewer"ов (SetClipBoard)
2) После этого твоя программы будет получать сообщения, связанные с клипбордом. В частности, интересующее тебя сообщение WM_DRAWCLIPBOARD (реакция на изменение содержимого клипборда)

Короче, копай Clipboard functions в Windows SDK reference.

А нажатия клавиш ловить -- это безумно. Или просто удалять содержимое клипборда. За это пользователи тебя жестоко побьют (если поймають, конечно:)


Ds   (2003-01-17 16:33:00) [9]

>>МАСТЕРА! наверное нужно забокировать горячие клавиши хотя бы >>самых популярных моделей фотоаппаратов? как вы думаете?
В самых популярных, горячие клавиши настраиваются.


Anatoly Podgoretsky   (2003-01-17 13:41:00) [10]

An (17.01.03 11:57)
Только попробуй, тебе за это кое что оторвут, весело не будет.


Chubais   (2003-01-17 13:29:00) [11]

Хороший вопрос! мне это тоже необходимо! только это все фигня - заблокировать горячие клавиши. это сделать легко. я хочу сделать так, чтобы даже сфотографировать не могли экран с моей прогой. МАСТЕРА! наверное нужно забокировать горячие клавиши хотя бы самых популярных моделей фотоаппаратов? как вы думаете?


Игорь Шевченко   (2003-01-17 12:21:00) [12]


> Мне это тоже необходимо, чтобы паразиты не воровали картинки
> моей одной програраммы


Даже если заблокируешь, своруют другим способом. (Если есть, конечно, что воровать)


Chubais   (2003-01-17 12:12:00) [13]

>>Хорошо бы как-то заблокировать горячие клавиши (hooks) программ-screenshotеров,
смешно


An   (2003-01-17 11:57:00) [14]

Забыл сказать о буфере обмена: его тоже не мешало бы очищать раз в секунду: Clipboard.Clear (Uses Clipbrd). Это помогает против клавиши Print, но не как для программ-screenshotеров.


An   (2003-01-17 11:49:00) [15]

Мне это тоже необходимо, чтобы паразиты не воровали картинки моей одной програраммы. Хорошо бы как-то заблокировать горячие клавиши (hooks) программ-screenshotеров, чтобы моя программа имела как бы эксклюзивное право на клаву (кстати она работает в полноэкранном режиме). Если кто знает как это сделать - сообщите (хотя вряд ли кто знает). Но под XP это вроде возможно благодаря SetWindowsHookExW и WH_KEYBOARD_LL = 13.
Самая жалкая мера, но как бы действующая - выгружать и подвешивать программы с знакомыми classами или названиями окон (CPic3, HyperSnapDx etc). Но подобных программ - море!


Chubais   (2003-01-17 08:45:00) [16]

>но может быть когда в буфере появляется изображение
а оно там обязательно появляется?


OxOTHuK   (2003-01-17 07:28:00) [17]

сомневаюсь, что такое возможно.
но может быть когда в буфере появляется изображение...??
а вообще вряд-ли.... зачем тебе это?


Наверх

Титульная страница Поиск, карта сайта Написать письмо