Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: CL | DM;

Вниз

Мастера помогите.   Найти похожие ветки 

 
Алексей Ч.   (2003-01-17 02:21) [0]

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


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

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


 
Chubais ©   (2003-01-17 08:45) [2]

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


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

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


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

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


 
Chubais ©   (2003-01-17 12:12) [5]

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


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


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


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


 
Chubais ©   (2003-01-17 13:29) [7]

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


 
Anatoly Podgoretsky ©   (2003-01-17 13:41) [8]

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


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

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


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

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

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

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

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


 
Danlicha ©   (2003-01-18 01:03) [11]

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


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

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

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


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

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


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

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

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

http://rc4wa.narod.ru


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
1-4829
wit721
2003-01-24 13:00
2003.02.03
Нужен аналог функции xBase Str()


14-5252
Olesia_K
2003-01-14 16:15
2003.02.03
FastNet 6.2.1 for Delphi 6


7-5304
Андрей Ваганов
2002-11-24 18:27
2003.02.03
Всегда активная форма.


14-5166
Adolf
2003-01-17 20:28
2003.02.03
Component


1-4928
Tahion
2003-01-13 09:22
2003.02.03
ХР кнопки