问题标签 [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.
c# - Windows 7 桌面管理器
当我们将一个窗口拖到屏幕的一侧时,我们会得到一个涟漪效应,我们可以通过编程方式改变它吗?
winforms - 使用 DwmExtendFrameIntoClientArea 会导致窗口奇怪地调整大小
我有一个应用程序,它使用DwmExtendFrameIntoClientArea在我的 .NET 表单顶部绘制一个玻璃效果区域。一个奇怪的副作用是,当您最大化和恢复窗口时,它会变得更高。因此,如果您继续最大化/恢复它,它只会越来越高!删除对DwmExtendFrameIntoClientArea的调用以删除该漂亮的效果,并且它不会出错。
有任何想法吗?
windows-vista - DWM 和绘画无响应的应用程序
在 Vista 及更高版本中,如果应用程序变得无响应,桌面窗口管理器能够在必要时处理重绘它(在其上移动窗口、拖动它等),因为它为它保留了一个像素缓冲区。Windows 还尝试检测应用程序何时在超时后变得无响应,并尝试充分利用这种情况——我相信它会使窗口变暗,在其标题栏中添加“无响应”,也许还有其他一些效果。
现在,我们有一个使用窗口区域和分层窗口的蒙皮应用程序,它不能很好地处理这些效果。我们一直在 XP 上进行开发,但在 Vista 上进行测试时发现了一个奇怪的效果。在某些时候,应用程序可能会花费一些时间进行一些计算或回调,并且“如果在 5 秒内未检索到消息,则 DWM 会声明窗口被挂起”(MSDN - 防止 Windows 应用程序中的挂起)。似乎当这开始时,出现了一个奇怪的图形问题:由于窗口区域而 100% 透明的任何像素变成黑色,这有效地使窗口再次变成矩形,具有黑色背景。似乎还有其他异常情况,原始窗口的像素在某些子对话框中发生了一些偏移。
我正在努力减少这种延迟(理想情况下,Windows 永远不需要像这样介入),并试图在它忙碌时保持响应能力,但我仍然想弄清楚是什么导致它呈现这样的,因为我可以不能保证我可以消除所有延误。
基本上,我只想知道 Windows 在发生这种情况时在做什么,以及如何使我的应用程序正常运行。皮肤应用程序必须在 Vista 和更高版本上仍然可以工作,所以我需要弄清楚我在做什么是非标准的。我什至不确切知道如何查找有关 Windows 现在如何处理无响应应用程序的信息,因为我的搜索只返回对无响应应用程序有问题的人,或者对 DWM 对此类应用程序的作用的非常基本的解释。哎呀,我什至不能 100% 确定是 DWM 负责,但似乎很有可能。有什么潜在的线索吗?
问题照片;屏幕截图不会捕捉到效果(请注意,白色对话框的缓冲区被移动了——它被移动了它从主(蓝色)窗口偏移的距离):
c# - 当用户使用 Windows XP 时,如何在 WPF 窗口的镶边上放置控件?
如何在 WPF 窗口的框架上放置控件?
我看了一下这个,但我不知道如何在 WPF 中做到这一点。链接文本
当应用程序必须在不支持 DWM 的 Windows XP 上运行时,就会出现问题。
另外,如果这是在没有 DWM 的 Vista 上运行,这篇文章还能工作吗?
windows - 我的 OpenGL 游戏关闭 Aero DWM Glass
几年前我写了一个免费游戏:http ://www.walkover.org 。对于大厅和菜单,它使用像 win32 这样的普通对话框。当实际游戏开始时,它使用 OpenGL。
现在,在 Windows 7 上,当实际游戏开始时,它会关闭 windows aero glass,并在游戏结束时将其重新打开。
我能做些什么来防止这种情况发生吗?一些特殊的标志可以让玻璃保持打开状态?(对于较新的,我一直在使用 DirectX,但这不会发生在那里。)也许我必须在某处指定一些(新)标志?
我正在使用这个像素格式描述符:
java - 带有 JNA (Java) 的 Windows 缩略图预览
给我
我有一种感觉我做的完全错误,但是挖掘文档让我一无所获。
registry - 禁用应用程序的桌面合成
如何在 Windows Vista/7 中标记应用程序以通过注册表或 NSIS 脚本禁用桌面组合?
通常它是在应用程序属性的兼容性设置中完成的。
.net - 在 Windows Vista/7 中重定向应用程序的图形输出(使用 DWM)
我想创建一个桌面管理器,它获取所有正在运行的应用程序的信息,包括状态和屏幕截图,以便在我的虚拟空间(可能是 3D)中显示和操作它们。它可以被认为是 Windows 本身之上的另一层抽象。
因为像 Flip 3D 和 Live Thumbnails 这样的许多原生 Windows Vista/7 功能能够实时显示每个窗口的活动,例如视频一直在任务栏的缩略图中播放,我认为 DWM 允许应用程序将其输出重定向到其他地方或某些特殊进程能够收集其他应用程序的图形输出(可能仅限子进程)。Microsoft 是否为此发布了一组公共 API?如果不能,技术上可行吗?如果我将范围限制为仅使用 WPF 的 .NET 应用程序会更容易吗?
c# - Windows 7 DWM 怪异
我正在为 Windows 编写一个 FOSS“Alt+Tab”替代品(窗口切换器),因为我觉得它(仍然)缺少一些功能;但我注意到两个我似乎无法解决的怪癖:
#1。(有点无关)在默认的 Windows 7 窗口切换器中,一台计算机允许左键单击缩略图以聚焦窗口;但是在另一台类似规格的计算机上,我必须使用右键单击。这两个全新安装之间的唯一区别是主题。有任何想法吗?如果共享代码,我更喜欢 C# 语法,但 VB.NET 也可以。谢谢!
c# - 等待禁用 aero 完成
我的应用程序可以通过在捕获屏幕图像之前调用 DwmEnableComposition(0) 来禁用 aero。如您所知,禁用 aero 会使屏幕变黑然后恢复正常。在不同的 PC 上,这可能需要 2 到 3 秒,具体取决于系统的速度。
有没有更好的方法来确定 aero 在屏幕捕获之前是否完全禁用而不是 Thread.Sleep()?