C# 如何从WinForms应用程序访问桌面合成引擎?

C# 如何从WinForms应用程序访问桌面合成引擎?,c#,winforms,windows-vista,C#,Winforms,Windows Vista,是否可以从winforms应用程序访问Windows Vista中的桌面合成引擎?DCE显然涉及将应用程序渲染到DCE缓冲区,而不是直接渲染到屏幕。由于winforms应用程序无法获取有关监视器刷新率和扫描线状态的信息(通过DirectX除外),winforms应用程序中的动画会受到撕裂效果的影响。启用DCE后,撕裂效果会减少,但仍然存在(显然,DCE仍然可以抓取应用程序正在写入的缓冲区,并将其渲染到屏幕上,从而产生下一个撕裂效果的半帧半) 我的winforms应用程序是否有办法与DCE通信并避

是否可以从winforms应用程序访问Windows Vista中的桌面合成引擎?DCE显然涉及将应用程序渲染到DCE缓冲区,而不是直接渲染到屏幕。由于winforms应用程序无法获取有关监视器刷新率和扫描线状态的信息(通过DirectX除外),winforms应用程序中的动画会受到撕裂效果的影响。启用DCE后,撕裂效果会减少,但仍然存在(显然,DCE仍然可以抓取应用程序正在写入的缓冲区,并将其渲染到屏幕上,从而产生下一个撕裂效果的半帧半)


我的winforms应用程序是否有办法与DCE通信并避免在缓冲区切换期间渲染?

能否导入DWMAPI.DLL、调用、拆分结构并将应用程序与您能识别的任何时间信息同步


或者,您可以使用

控制它。您是否可以导入DWMAPI.DLL,调用、拆分结构并将应用程序与您可以识别的任何时间信息同步


或者,您可以使用

控制它,这看起来正是我要找的。你有没有遇到过包装这个的C#样品?我没有。但是这个博客看起来很有前途,要么有例子,要么有例子的链接——这看起来正是我想要的。你有没有遇到过包装这个的C#样品?我没有。但是这个博客看起来很有希望提供示例或示例链接-