dwm相关内容

禁用 JFrame 中的背景绘图以正确显示 Aero (DWM) 效果

我在 Java 窗口上使用 Windows Vista/7 的 DWM 功能时遇到问题.我想让我的框架的背景使用 Aero 风格.执行此操作的 Windows API 由 dwmapi 库中的函数 DwmExtendFrameIntoClientArea 提供.我已经设法通过 JNA 正确调用了该过程,并且它完成了它应该做的事情(例如,您可以看到,在调整框架大小时,在下一次重新绘制之前,您会在尚未 ..
发布时间:2022-01-24 14:32:38 Java开发

如何正确截屏 Aero/DWM 上的特定窗口

背景信息:我有这个我编写并使用了很长时间的 MFC 应用程序,当用户点击 Print Screen/Alt+Print Screen 键时,它几乎会自动将屏幕截图保存到硬盘上.直到现在我已经使用 Windows 7 RC 几周了,我一直在推迟使用与 Aero 相关的任何东西. 问题:我正在使用标准的 GetDC/BitBlt 方法来捕获窗口内容.在进行常规全屏抓取时(无论打开多少个窗口等), ..
发布时间:2022-01-12 15:08:41 C/C++开发

窗户如何改变 Aero Glass 的颜色?

我使用的是 Windows 7 RTM,我想知道控制面板如何能够如此顺利地更新 Aero Glass 颜色而无需重新启动 DWM (uxsms).DwmSetColorizationColor 不再起作用... 解决方案 您应该对以下方法感兴趣: [DllImport("dwmapi.dll", EntryPoint = "#127", PreserveSig = false)]publ ..
发布时间:2021-12-29 22:51:09 其他开发

处理 WM_NCPAINT “中断"Vista/Aero 上的 DWM 玻璃渲染

我正在尝试根据用户设置制作一个在具有 Aero/Glass 和自定义渲染框架(通过处理 WM_NCPAINT)之间交替的窗口.(Windows Vista). DwmComposition 已启用.我的应用程序带有玻璃框架,但是一旦我切换设置以触发自定义 WM_NCPAINT 代码路径,然后切换回使用 DefWindowProc 的 WM_NCPAINT 处理,本机框架现在永久停留在“Vis ..
发布时间:2021-12-18 08:24:14 其他开发

检测 WPF 中的系统主题变化

对于我的 WPF 应用程序,我需要检测 DWM 何时打开/关闭或系统主题何时更改. WinForms中有这样一个事件,但我在WPF中看不到任何. 解决方案 我还没有听说过 WinForms 事件 在 WinForms 窗口从系统接收消息时触发,但是它有自己的 WndProc() 方法,您可以覆盖它.您可能混淆了窗体事件的窗口消息. 啊,所以它是在 WinForms 窗口中调用的 Styl ..
发布时间:2021-12-18 08:09:52 C#/.NET

GetWindowRect 返回一个包含“不可见"的大小.边界

我正在开发一个应用程序,该应用程序以网格样式在屏幕上定位窗口.在 Windows 10 上运行时,窗口之间存在巨大差距.进一步调查显示 GetWindowRect 返回了意外值,包括一个不可见的边框,但我无法让它返回带有可见边框的真实值. 1) 该线程 表明这是设计使然,您可以通过与 winver=6 链接来“修复"它.我的环境不允许这样做,但我尝试将 PE MajorOperatingSy ..
发布时间:2021-12-17 23:35:10 其他开发

Window 的合成引擎 (DWM) 中的背景颜色伪像

上下文来自 Kenny Kerr 的博客: Windows Vista 引入了一项称为桌面窗口管理器的服务.这个名字曾经并且继续具有误导性.将其视为 Windows 合成引擎或合成器.这个合成引擎彻底改变了应用程序窗口在桌面上的呈现方式.不是让每个窗口直接渲染到显示器或显示适配器,而是每个窗口都渲染到屏幕外表面或缓冲区.系统为每个顶级窗口分配一个这样的表面,所有 GDI、Direct3D 和 ..
发布时间:2021-07-09 18:34:20 其他开发

Windows窗体玻璃效果,使ImageBox透明

我有一个Windows窗体应用程序,并且我已使用DwmExtendFrameIntoClientArea将窗口的框架扩展到工作区中以获得玻璃效果. 现在,我试图在图片框中显示透明的PNG图像,但是背景显示为白色而不是玻璃效果.如何使图像显示为透明,这样我只能看到圆角的灰色矩形而不是白色背景. 我的屏幕截图如下.谢谢. 解决方案 好吧,这是一种易于解决的winforms问题.您必 ..
发布时间:2020-06-13 18:32:45 C#/.NET

SetWindowRgn的Vista实时缩略图问题

我知道我可能丢失了一些东西,但是当使用具有区域的窗口时,似乎无法让窗口正确显示实时缩略图预览.按下“最小化"按钮时,预览将裁剪为最小尺寸(160x25),而不是显示完整的预览(就像其他窗口一样). 要点: 1)预览在Windows Live Messenger中工作正常,因此Microsoft找到了一种方法. 2)如果仅在窗口可见之前调用SetWindowRgn,则它可以正常工作 ..
发布时间:2020-06-13 18:32:42 其他开发

在Windows XP和CodeBlocks上延迟加载DWMAPI

我有一个项目一直在努力为Windows(XP)构架一个月.该项目使用gtkmm-3,C ++和最新的GCC-TDM编译器.我的IDE是CodeBlocks 13.14. 我正在进步,但是,我现在挂在这个错误消息上了... ld.exe cannot find -ldwmapi 现在,DWMAPI是仅在Windows Vista及更高版本上可用的DLL.根据我的研究,在某些某些系统 ..
发布时间:2020-06-13 18:32:39 C/C++开发

检测Win + Tab任务视图

在Windows 10上,您可以按 Win + Tab 来获取所有窗口的“任务视图"视图.我正在尝试检查是否在任何给定时间都处于活动状态.我尝试使用带有WH_KEYBOARD_LL的低级键盘挂钩,但这仅允许我检测按键,而不是在切换台处于活动状态时.我已经看过Windows DWM API,也没有找到其他任何东西. 我也尝试过使用EnumWindows()和EnumChildWindows(G ..
发布时间:2020-06-13 18:32:37 其他开发

Win32应用程序中的丙烯酸材料

Microsoft最近发布了他们的新“流利"设计语言,其中一部分是.此效果使元素透明并模糊背景.它既可以应用于窗口,从而使下层窗口的某些部分虽然可以发光(背景丙烯酸),也可以应用于窗口中的各个元素,所以其他控件也可以通过(应用程序内的丙烯酸)发光.从概念和视觉上讲,它与macOS上的振动非常相似. 它在XAML中作为特殊的画笔实现,但我想知道是否可以在常规Win32应用程序中使用它(背景丙烯 ..
发布时间:2020-06-13 18:32:33 其他开发

WINAPI/DWMAPI具有不规则形状的模糊窗口

注意:这不是关于无边框窗口的问题. 因此,前几天在Windows 7上浏览“开始"菜单时,我偶然发现了该程序: 这是一个本地Windows程序,称为“数学输入面板".现在,我对窗口形状感到好奇.我知道它不是完全由DWM绘制的,因为边框和“关闭"按钮看起来像是腥的,并且窗口没有阴影(我启用了阴影).关于如何进行此操作的第一个猜测是使用DwmEnableBlurBehindWindow,但 ..
发布时间:2020-06-13 18:32:30 C#/.NET

是否可以捕获带有Windows 7 DWM缩略图的窗口?

我开始相信您无法使用Windows API. 我有两个窗户.其中有一个DWM缩略图.我想做的是,我希望能够将带有缩略图的窗口捕获到另一个屏幕中. 当我这样做时,使用bitblt会复制缩略图以外的所有内容.它只是在位图中不存在. 那么DWM渲染如何工作?我的意思是,如果DWM将缩略图直接渲染到注册窗口的DC上,那么我的方法应该可以工作.我很困惑. 谢谢. 解决方案 DWM不 ..
发布时间:2020-06-13 18:32:21 其他开发

在Win32应用程序中模仿丙烯酸

Microsoft最近宣布丙烯酸,Fluent Design中的玻璃状材料.它仅以XAML/UWP的形式呈现,但外观与玻璃非常相似,不同之处在于它可以随意着色,并且可以将应用内应用程序应用于跨接控件以及应用程序的独立窗口. “食谱"使它看起来像是 一个相关的SO问题确认(它没有具体的技术答案,但暗示丙烯酸不能像玻璃一样通过WinAPI使用.) 有人会如何在普通的旧版Win32应用程序中 ..
发布时间:2020-06-13 18:32:19 其他开发

Qt:擦除背景(Windows Aero Glass)

更新 请参见在Windows上使用模糊有关使用Qt和.替代文字http://labs. trolltech.com/blogs/wp-content/uploads/2009/09/blurbehind2.png 原始问题: 我想用Qt创建一个Windows Aero Glass窗口,现在看起来像这样: 但是在调用某些my_window->repaint()之后,我的窗口的标签坏 ..
发布时间:2020-06-13 18:32:15 其他开发

隐藏窗口的PrintWindow和BitBlt

我的程序正在拍摄其他应用程序窗口的屏幕快照,以自动执行它们上的某些任务.这些窗口可能会隐藏在屏幕外,或者不时被其他窗口遮盖. 为了减少混乱,我从代码清单中删除了所有错误检查.我正在准备两种类型的屏幕截图 // Get size of the target window. RECT clientRect; GetClientRect(hwnd, &clientRect); int wid ..
发布时间:2020-06-13 18:32:13 C/C++开发

GetWindowRect返回包括“不可见"大小的大小.边界

我正在开发一个应用程序,该应用程序以网格样式将屏幕上的窗口放置在屏幕上.在Windows 10上运行此命令时,两个窗口之间存在巨大差距.进一步的调查表明,GetWindowRect返回的是意外值,包括不可见的边框,但是我无法让它返回带有可见边框的真实值. 1)MajorOperatingSystemVersion和MajorSubsystemVersion更改为6而没有任何影响 2)该 ..
发布时间:2020-06-13 18:32:09 其他开发

桌面窗口管理器捕获整个屏幕

我想知道是否有人可以给我一个在Windows Vista / 7中捕获整个屏幕的起点?我知道如何在Windows的早期版本中执行此操作,但确实希望将所有内容保留在D3D堆栈中,而无需诉诸GDI / BltBit调用。 我意识到如果您具有使用DWM API的HWND,则可以获取给定窗口的实时缩略图,但是如何获得整个桌面的“缩略图”呢? 谢谢, 亚历克斯 解决方案 不幸的是, ..
发布时间:2020-06-04 19:09:46 其他开发