2011-07-01 7 views
1

사용자가 어떤 형태의 스크린 샷에서든 프로그램을 보호 할 수있는 방법이 있습니까? 예를 들어 사용자가 키보드의 Print Screen 키를 누를 때 내 프로그램이 스크린 샷에있는 것을 원하지 않습니다. 사용자가 Print Screen keyt를 눌러 프로그램을 최소화하는 프로그램의 주요 미리보기를 어떻게 만들 수 있습니까?프로그램에서 스크린 샷을 방지하는 방법

나는 이것을 C# WinForms에 원한다.

P. 나는 그것이 약간 어리 석다는 것을 안다. 사용자는 화면의 실제 사진을 찍을 수있다 : P하지만 내 호기심!

+5

이것은 몇 개월에 한 번씩 나오는 질문입니다. 진짜 빨리 dup을 찾을 수 없다면 대답은 동일합니다. Windows에 DRM 구성 요소가 내장되어있어 비디오 어댑터 메모리를 보호하지 못합니다. 모니터와 휴대용 카메라 사이에 아무 것도 없습니다. 니 엄마의 오른손 손가락 이외. –

답변

6

내가 생각할 수있는 것은 video overlay을 사용하여 애플리케이션의 콘텐츠를 그리는 것입니다 (예 : 클래식 비디오 플레이어와 유사). 그런 식으로 평소 스크린 샷 프로그램은 빈/거의 검은 색 이미지를 얻을 것입니다. 하지만 여전히 100 % 안전한 방법은 아닙니다. 소프트웨어를 통과하는 모든 것들은 어떤 방식 으로든 조작되거나 움켜 잡을 수 있습니다.

4

스크린 샷을 중지 할 수 없습니다.

+2

'SetWindowDisplayAffinity'는 더 어렵게 만듭니다. –

+0

@ RaymondChen 당신은 게으른 놈입니다 - 자신의 블로그 글에 링크하지도 않습니다. 내가 당신을 위해 그렇게 행동하게하십시오. http://blogs.msdn.com/b/oldnewthing/archive/2013/06/03/10422964.aspx – x0n

+1

@ x0n 먼저, 오프 사이트 페이지에 대한 링크가 표시됩니다. 둘째, 타임머신이 없습니다. (2012 년부터는 2013 년부터 블로그 글에 댓글을 달 수 있습니까?) –

4

결정된 응용 프로그램이 응용 프로그램의 화면 출력을 캡처하지 못하도록하는 어떤 방법도 생각할 수 없습니다. 화면은 PrintScreen 키 이상으로 캡처 할 수 있습니다. Windows의 경우 거의 모든 앱에서 DC 핸들 0을 읽음으로써 전체 화면 장치 표면을 읽을 수 있습니다.