在Windows Vista及更高版本中,是否可以获得桌面合成的部分结果?

时间:2013-07-17 13:30:21

标签: .net c winapi screen-capture dwm

它不一定是最新版本,如果它只有几帧,那就完全没了。

我要做的是在窗口内显示屏幕本身,但我不希望窗口本身显示在微型屏幕中。我可以考虑一些可能的黑客来实现这一目标。第一个是隐藏(以某种方式)窗口,截取屏幕截图然后再次显示,但它有可能导致闪烁:

How can I capture screen under my own window excluding my own window

另一个选择是通过Magnification API,但可能它仍然感觉有点像黑客。

Excluding certain windows from screen capture

我猜测在合成桌面环境中应该可以访问合成引擎并请求不包含一个或多个图层的合成版本。最有可能的是,这种“额外”组合的结果将异步提供给请求的应用程序,可能只有几帧。

有没有办法使用Win32 API执行此操作?

其他一些相关资源

C++ - How to screen-capture, except for some windows

0 个答案:

没有答案