2012-11-06 4 views
1

GetRandomRgn() API를 사용하여 창 표시 영역을 가져옵니다.GetRandomRgn() Windows 8에서 Api가 예상대로 작동하지 않습니다.

이 API는 Windows XP 및 Windows 7에서 잘 작동하지만 동일한 API는 8

나에게 동일하게 제공하는 윈도우 8에서 사용할 수있는 다른 기능이 있습니다 Windows에서 같은

결과를 제공하지 않습니다 결과?

답장을 보내주십시오.

최고 감사합니다,

샤 라드

+0

'잘 작동합니다'와 '동일한 결과를 제공하지 않음'의 의미를 설명해주십시오. 어떤 결과를 얻었으며 왜 틀렸다고 생각하십니까? –

+0

안녕하세요 Raymond ... GetRandomRgn() 함수는 지정된 장치 컨텍스트의 시스템 클리핑 영역을 특정 영역에 복사합니다. 그것은 볼 수있는 영역이 클리핑되고 HRGN 매개 변수로 복사된다는 것을 의미합니다. App 창과 다른 창이 해당 App 창에서 GetRandomRgn()보다 위쪽으로오고 있다는 가정하에 fucn은 클립 된 rgn 값을 반환해야합니다. 응용 프로그램 윈도우의 보이는 부분. Windows XP에서 Windows7은 올바른 clipped rgn 값을 제공하지만 Windows8에서는 올바른 clipped rgn을 제공하지 않습니다. 다른 창이 App Window 위에오고 있음을 나타내는 것은 아닙니다. – user1802096

답변

1

은 Windows 7에서 바탕 화면 구성을 사용하면 Windows 7 및 Windows 8은 동일하게 동작 것을 볼 수 있습니다. GetRandomRgn의 동작은 바탕 화면 구성의 영향을받습니다. 합성이 활성화되면 모든 창은 논리적으로 완전히 볼 수있는 것으로 취급됩니다 (비 화면 버퍼로 렌더링되기 때문에). Flip3D와 같은 기능을 사용하면 논리적으로 보이는 부분이 물리적으로 보이는 부분과 동일하지 않음을 알 수 있습니다.

+0

Windows 7의 바탕 화면 구성도 사용 가능합니다. GetRandomRgn이 올바른 클리핑 영역을 제공합니다. 그것은 우리가 Windows 8에서보고있는 것과 같지 않습니다. – user1802096

관련 문제