2014-04-24 5 views
4

다른 응용 프로그램이 Windows에서 화면의 비디오를 캡처하고 있는지 감지 할 수있는 C# 응용 프로그램을 작성하려고합니다. 프로세스 목록을보고 특정 프로세스가 실행 중인지 감지 할 수 있지만 캡처 응용 프로그램의 프로세스 이름을 변경할 수 있으므로 효율적이지 않습니다. 아무도이 일을 할 수있는 방법이 있는지 말해 줄 수 있습니까? 감사 !.NET을 사용하여 창에서 화면 녹화 감지하기

+1

이 게시물의 답변 중 일부는 유용 할 수 있습니다. http://stackoverflow.com/questions/6083261/tracking-screen-recorder-in-windows-app?rq=1 – ravuya

+0

아니요 - 해당되는 경우 원격 데스크톱 또는 다른 종류의 시각화 된 비디오 카드? 허가받지 않은 녹음을 막을 수있는 유일한 방법은 [HDCP] (http://en.wikipedia.org/wiki/HDCP)입니다. –

+0

@ravuya, 응답 주셔서 감사합니다, 그 스레드를 확인하려고했지만 아무 구체적인 콘크리트 거기에 언급 된 – user3566885

답변

3

동일한 컴퓨터의 프로세스가 화면을 녹화하고 있는지 여부를 감지하기 만하면 일부 작업을 수행하는 방법을 찾을 수 있습니다. EasyHook 또는 이와 유사한 화면을 기록 할 수있는 많은 화면 기록 소프트웨어에서 사용되는 특정 API가 있지만 그 나머지는 다르게 작동하지 않을 것입니다.

예를 들어, UltraVNC에는 화면 업데이트 알림과 함께 화면 프레임 버퍼에 직접 액세스 할 수있는 미러 비디오 드라이버가있어 화면 녹화 또는 재생에 좋습니다. 코드가 어떻게 반응합니까?

더 큰 문제는 응용 프로그램을 기록하지 못하도록 로컬 컴퓨터를 단순히 검사하는 것만으로는 부족하다는 것입니다. 출력을 위해 하드웨어 오버레이 및 HDCP와 같은 다양한 기술을 혼합하여 더 어렵게 만들 수 있습니다.

물론 가장 큰 문제는 누군가 모니터에서 카메라를 가리 키지 못하게하는 것입니다.

최종 결과는 보안을 크게 향상시키지 않고 최종 결과물을 개발하는 데 많은 시간을 소비하고 최종 사용자에게 약간의 불편을 겪습니다. 그리고 누군가를 물리 치기로 결정한 사람은 응용 프로그램에 약간의 코드 패치를 적용하거나 휴대 전화 카메라를 올바른 방향으로 향하게해야하며 바이 바이 보안이 필요합니다.

내게 어리석은 것처럼 보입니다.

+0

응답 주셔서 감사합니다, 이 API 사용에 관한 문서가 있습니까? – user3566885

0

프로세스 이름을 변경할 수 있습니다. 하지만 "메인 윈도우 제목"을 변경할 수는 없습니다. 런타임에 잘 알려진 화면 캡처 프로그램의 기본 창 제목을 고려할 수 있습니다.