![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастера помогите. [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]сомневаюсь, что такое возможно.
но может быть когда в буфере появляется изображение...??
а вообще вряд-ли.... зачем тебе это?