首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DWMWA_FREEZE_REPRESENTATION冻结实时缩略图?

如何使用DWMWA_FREEZE_REPRESENTATION冻结实时缩略图?
EN

Stack Overflow用户
提问于 2019-07-27 18:35:00
回答 1查看 139关注 0票数 3

我正在成功地将另一个窗口的内容(在我的测试用例中是notepad)投影到我自己的窗口中。它工作得很好。

我做不到的是冻结它,这是使用DwmSetWindowAttribute (here)和参数DWMWA_FREEZE_REPRESENTATION (here)的API提供的,根据互联网,这个参数等于15。

dwmSetWindowAttribute(MyWindow,15,@Value,1)

我几乎尝试了所有的变种。发送1个字节,发送4个字节,值1,0,"maxdword“等等。返回值总是-2147024809,除非我弄错了,否则这意味着”无效参数“。

由于BitBlt的速度较慢,因此不能通过抓取我投影的窗口的DC来使用解决方法。在寻找合理快速的可实现替代方案后,我偶然发现了dwm缩略图。

在互联网上搜索DWMWA_FREEZE_REPRESENTATION根本找不到任何有用的东西,就好像没有人尝试使用它一样。我想我的问题很快就会成为谷歌搜索结果的第一名。

在Windows10的五月更新上运行。

我怎么才能让它工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-15 09:56:24

第3个和第4个参数实际上是BOOL*sizeof(BOOL),但第1个参数需要是一个UWP窗口。DWMWA_FREEZE_REPRESENTATION仅适用于未在文档中提及的UWP窗口。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57231286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档