2010-07-14 4 views
0

에서 작동합니다. 좋아, Jing이 오버레이 양식으로 스크린 샷을 찍는 방법에 대해 누구나 설명 할 수 있습니까? 그것은 전체 스크린 샷을 찍은 모든 보이는 창 핸들을 기록하고 특정 hwnd 양식 내에서 선택하자 나타납니다. 사실일까요? 그렇다면, 이것을 달성하기위한 큰 단계는 무엇입니까? 간단한 그림 상자 일 수도 있고 사용자 정의 컨트롤이 없을 수도 있습니다. 스크린 샷을 찍는 동안 화면을 멈출 기회가 없습니까?오버레이 (?) 양식이 JING

감사합니다.

답변

1

저는 Jing이 사용하는 것을 정확히 알기에는 익숙하지 않습니다. 그러나 두 가지 기본 기술이 있습니다. 하나는 당신이 언급 한대로, 화면을 캡처하고 그것을 국경없는 형태로 표시합니다. Vista/Win7 Snipping 도구는 그런 식으로 작동합니다. 이 코드를 내 대답에 시작하기 위해 필요한 코드는 this thread에 있습니다.

Jing에서 더 많이 사용되는 Spy ++는 사용자가 마우스를 움직여서 선택 사각형을 그리는 것을 허용합니다. 장점은 도구를 실행하는 동안 크기가 조정되거나 사라지는 창을 처리 할 수 ​​있다는 것입니다. TransparencyKey 속성이 BackColor 값으로 설정된 화면 크기의 최상위 폼을 사용하여 구현합니다. 퓨셔는 대중적인 선택입니다. OnPaint() 메서드를 사용하여이 양식을 그릴 수 있습니다. 도면은 모든 창 위에 나타납니다. 사용자가 가리키고있는 윈도우를 알기 위해 Z- 순서로 기본 윈도우를 반복하기 위해 P/Invoke (GetWindow)가 필요합니다. GetWindowRect() 창 사각형을 가져옵니다. 국경 크기에 관해 거짓말을하고있는 Aero를 다루는 약간의 정수를 더하여.

해당 기술을 시작하려면 샘플 코드를 찾으십시오. 내 대답은 this thread입니다.

+0

정말 고마워요. – andySF