问题标签 [dwm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 如何对实时 Windows 7 窗口内容进行 3d 操作?
这基本上是一个范围界定问题,我在哪里可以找到将窗口内容渲染到 3d 表面并对其进行操作的工具?我的意思是我可以有一个程序,比如一个像Vista DWM 的 3d 任务切换器那样在 3d 中合成实时窗口的程序,并且可以将 UI 交互转换回每个窗口的 2d 交互吗?
我在网上到处都看到过关于 DWM 扩展的提及,但找不到任何关于它如何工作的资源。还有通过关联两个窗口的 HWND 来实现 DWM 缩略图的指南,但这不允许我在窗口上进行任意转换并且仅显示(您不能单击缩略图中的内容。)
有任何想法吗?
winapi - DwmExtendFrameIntoClientArea 和最大化窗口
我正在尝试在客户区构建一个带有玻璃效果的漂亮 GUI。
所以我按照这里的描述实现了它。
我成功了,并且有漂亮的玻璃框架,但只要窗户没有最大化。当我最大化窗口时,它只是黑色:-(
通过一些谷歌搜索和实验,我发现,当我使窗口无效以响应WM_WINDOWPOSCHANGING
这样的情况时:
当我最大化窗口时,我也会得到玻璃效果。
现在奇怪的是,这只有在我双击标题栏或窗口右上角的最大化按钮时才有效。但是,如果我将窗口移动到屏幕顶部,让它在那里捕捉以最大化窗口(Aero Snap),窗口就会变成黑色。
有谁知道这是如何正确完成的?
(我正在 Windows 7 64 位下开发。)
编辑:
我还应该提到我想删除标准标题栏,我通过返回0
响应WM_NCCALCSIZE
消息来做到这一点。没有这个,一切正常。
编辑:
在另一个基本相同的系统上进行的测试是成功的。唯一显着的区别是有另一个显卡,AMD Radeon HD 4300 而不是 AMD Radeon HD 5870。这可能是显卡驱动程序的问题吗?
windows-7 - 丢失 Windows 7 透明度 DWM 无法正常工作
从 Microsoft ( http://windows.microsoft.com/hr-HR/windows/downloads/snowflakes-and-frost-theme ) 安装新主题后,我的 Windows 7 失去了所有透明 (Aero) 效果,并将 Windows Basic 作为实际主题。我一直在谷歌上搜索我的问题一个小时,但我还没有找到任何解决方案。我所有解决此问题的尝试都失败了。
- 我尝试运行标准向导来解决透明度问题,但得到了回应: 桌面窗口管理器已禁用。 桌面窗口管理器服务一直在运行。我可以在活动进程列表中看到 dwm.exe。我试过停止/启动 DWM 和主题服务,但没有效果。
- 我试过运行系统还原,但没有解决问题。
- 我一直有 Avast 防病毒软件,并且我已经扫描了磁盘,没有病毒。
- 我从 ATI 安装了最新的驱动程序,这也没有帮助。
我只是不知道除了重新安装 Windows 还能做什么(我不会为了获得一些花哨的透明效果而这样做)
windows - 全屏应用在 Windows Flip 3D 中显示为黑色矩形(按 Win+TAB)
我们有一个可以切换到全屏模式的 DirectX 应用程序。在全屏模式下,按 Win+TAB 会调出 Aero Flip 3D 界面,但应用程序的缩略图是一个黑色矩形。
有趣的是,之前有人问过这个问题,提问者似乎对答案很满意,除了那里链接的 MSDN 文章实际上并没有解释如何将缩略图提供给 Windows 以供 Aero Flip 3D 使用......
vb.net - 更改 dwm 着色 - Windows 7
我目前正在尝试在 VB.NET 中编写一个程序,该程序可以流畅地更改 Windows 7 中的 DWM 窗口着色颜色。
我首先尝试直接编辑注册表值,但我不得不重新启动 UXSMS 服务。由于任务栏的切换,此解决方案并不令人满意。
我现在正在寻找一个 DLL 中的函数,例如在设置窗口颜色user32.dll
时themecpl.dll
可以重现控制面板行为的函数。
我现在在 IDA 上,正在寻找足够的功能(CColorCplPage::SetDwmColorizationColor
看起来不错!)。如果有人有,请分享!
(如果有人需要屏幕或代码,请询问。对不起我的英语不好。)
delphi - 扩展 GlassFrame 的不良视觉行为
我有一个我无法解决的大问题。
我正在编辑问题以简化实际发生的情况:
创建空白 Delphi 应用程序(我在 2007 年尝试过)
在表单构造函数 (From.Create) 类型中:
/li>
这应该扩展 Windows Aero 主题。
现在尝试调整窗口大小,您会注意到不良行为;看起来很丑的黑色部分。
这是Windows错误还是?
我在 MS VC 下尝试过同样的事情,使用 API 调用,但结果是一样的。
无论如何,如果它是 Windows 错误,我必须以某种方式解决它,因为我可以让我的应用程序看起来如此糟糕。
谢谢您的帮助。
windows - Windows 中是否有任何机制允许系统范围的颜色反转(即夜间模式)?
我最喜欢的 Mac OSX 应用程序之一是 Blacktree 的 Nocturne,它可以反转整个屏幕的颜色,这样您就可以在整个系统范围内得到一个黑白显示,在黑暗的房间里很容易看清。例子。
我去寻找,似乎目前没有办法为 Windows 执行此操作。您可以获得的最接近的要么是大多数应用程序会忽略的黑暗主题(无论如何都不能解决问题 - 请参阅下面我对 Paul 的回答的评论),或者像 F.lux 或 Friendeye 这样的应用程序,它们只会降低亮度和/或更改颜色设置,但我发现没有任何东西可以真正反转整个屏幕的颜色。
所以我的问题是,是否有可能编写一个在 Windows 中执行此操作的应用程序?DWM、NVIDIA 驱动程序或图形子系统的任何其他部分是否有任何 API 允许您在如此基本的级别上操作渲染图像?一个人甚至会在哪里?
delphi - 即使激活了 Windows 7 Flip 3D,如何使表单始终位于顶部
我正在构建一个需要始终在顶部显示特定表单的应用程序(这是客户请求),到目前为止,我正在使用具有 HWND_TOPMOST 值的SetWindowPos函数,并且工作正常,但是当 Windows 7 Flip 3D 功能已激活我的应用程序不会保持在顶部。
Windows 7 翻转 3D
问题是,即使激活了 Windows 7 Flip 3D,我的表单如何保持在所有其他窗口的顶部?
c# - 如何将打开的 IE 选项卡显示为 DWM 缩略图?
我正在用 C# 构建一个 WPF 应用程序,我想在列表框中显示打开的 IE 选项卡的缩略图。我实际上是在尝试复制 Windows 7 中的 DWM 功能。
我已经弄清楚如何使用 Interop.ShDocVW 枚举打开的选项卡列表,但是为了使用 DWM API 调用,我必须传入一个hwnd
,并且这些选项卡都与 Internet Explorer 共享相同的句柄。
所以我一直在搞砸,EnumWindows
但EnumChildWindows
我什么都做不了。
关于如何最好地解决这个问题的任何建议?
winapi - 在窗口后面的模糊中清除窗口内容(DWM)
我有一个我调用DwmExtendFrameIntoClientArea()
的窗口,该窗口承载其他子窗口,我使用 Direct2D 在其中一个子窗口上进行绘制,当加载一个具有黑色区域的位图时,该区域变得模糊。我希望清除子窗口中的所有内容并在 上重新绘制WM_PAINT
,但是我似乎无法清除内容。
我试图清除它使用
这会使子窗口区域变黑,它会擦除所有以前的绘图,但没有透明度。
我试图绘制一个位图,它只是客户区上的一个黑条
这使得之前出现的任何东西都变成了黑色。
尝试了在整个子窗口上绘制黑色区域的旧 GDI 方法,
不工作。
但是,如果我不执行任何这些操作并尝试调整主窗口的大小,它会正常工作,即之前的绘画消失了。
在我再次绘制窗口之前,是否有任何 API 调用或任何方法可以手动清除窗口?