Winapi GetRandomRgn()Api在Windows 8中无法正常工作

Winapi GetRandomRgn()Api在Windows 8中无法正常工作,winapi,windows-8,Winapi,Windows 8,我使用GetRandomRgn()API获取窗口的可见区域 此API在Windows Xp和Windows 7中运行良好,但同一API提供的功能不同 结果是Windows8 windows 8中是否有其他功能可以提供相同的结果 请务必回复 致以最良好的祝愿 Sharad在Windows 7上启用桌面合成,您将看到Windows 7和Windows 8的行为相同。GetRandomRgn的行为受桌面合成的影响。启用合成后,所有窗口在逻辑上都视为完全可见(因为它们渲染到屏幕外缓冲区)。Flip3D等

我使用GetRandomRgn()API获取窗口的可见区域

此API在Windows Xp和Windows 7中运行良好,但同一API提供的功能不同

结果是Windows8

windows 8中是否有其他功能可以提供相同的结果

请务必回复

致以最良好的祝愿


Sharad

在Windows 7上启用桌面合成,您将看到Windows 7和Windows 8的行为相同。GetRandomRgn的行为受桌面合成的影响。启用合成后,所有窗口在逻辑上都视为完全可见(因为它们渲染到屏幕外缓冲区)。Flip3D等功能的可用性表明,区域的逻辑可见部分与其物理可见区域不同。

请描述您所说的“工作正常”和“结果不一致”的含义。你得到了什么结果?为什么你认为这是错误的?嗨,雷蒙德。。。函数的作用是:将指定设备上下文的系统剪辑区域复制到特定区域。这意味着可见区域被剪裁并复制到HRGN参数中。假设有一个应用程序窗口,而另一个窗口位于该应用程序窗口的某个部分的顶部,则GetRandomRgn()fucn应返回应用程序窗口可见部分的剪裁rgn值。在Windows Xp中,Windows7提供了正确的剪裁rgn值,但在Windows8中,未提供正确的剪裁rgn。这并不是说其他窗口出现在应用程序窗口的顶部。即使Windows 7上的桌面合成已启用,GetRandomRgn也为我提供了正确的剪裁区域。这与我们在Windows8中看到的不一样。