2009-03-03 2 views
0

특정 스크린 이벤트를 찾아서 응답 할 수있는 Win32 시스템을 개발하고 있습니다. 예를 들어 내 화면 (화면의 30x30 픽셀 부분)의 비트 맵 범위 (100,100) ~ (130,130)이 제공된 30x30 픽셀 기준선과 일치 할 때 특정 작업을 수행하십시오.화면에서 일치하는 기준을 읽고 응답하기

누구나 저와 함께 시작할 수 있습니까? 아마도 이것을 쉽게 만들 수있는 프레임 워크가 있을까요? 또는 내가 사용할 수있는 패키지? 아니면 심지어 제 3 자 유틸리티?

답변

1

할 수 있습니다 바탕 화면 창 (GetDesktopWindow)를 받고 다음에 대한 장치 컨텍스트 (GetWindowDC), 다음, 호환되는 메모리 디바이스 컨텍스트 (CreateCompatibleDC)를 생성 바탕 화면 DC에서 호환되는 비트 맵을 생성을 받고 (CreateCompatibleBitmap)을 시도 인 메모리 dc (SelectObject)에서 선택한 다음 데스크탑 dc에서 관심이있는 영역을 메모리 dc (BitBlt)로 비트 블 팅하십시오. 이 모든 일이 끝나면 정리하는 것을 잊지 마십시오.

아, 관리 코드에서이 작업을 수행하는 경우 PInvoke.net에서 모든 API를 찾을 수 있습니다. 네이티브 비트 맵에서 관리되는 비트 맵으로 비트 맵을 복사하려면 Imaging.CreateBitmapSourceFromHBitmap을 사용해야합니다.

저는 메모리에서이 모든 것을 쓰고 있습니다. 그것은 XP에서 작동하는 데 사용되는,하지만 난 비스타 또는 Win7에서 그것을 시도하지 않았습니다.

편집 : ".Net 화면 캡처"에 대한 빠른 검색은 this one (C# 및 VB.Net의 샘플 코드 포함) 몇 가지를 반환합니다.

+0

예제가 있습니까? 이것은 XP에서 가능할 것입니다. 따라서 실제 상황에서 볼 수 있다면 완벽 할 것입니다. 아마도 데모 코드 일 수도 있습니다. 나는 관리 코드를 사용했다. – Ray

+0

음, 죄송합니다, 지금 작업 코드가 없습니다. 게다가, 위는 화면의 비트 맵만을 제공합니다. 당신은 분석을 다뤄야 할 것입니다. –

관련 문제