c# - 3D 屏幕保护程序干扰 WPF 应用程序 (Windows XP)

标签 c# wpf directx

我有一个相当大的应用程序,它的用户界面使用 WPF。我最近发现了一个关于 3D 屏幕保护程序的异常缺陷。当屏幕保护程序激活时,3D 屏幕保护程序 3D FlowerBox、3D Flying Objects、3D Pipes、3D Text 导致我的 WPF 窗口之一消失。其他屏保没问题。

我的应用程序仅在 Windows XP 上遇到此问题。

我对 DirectX 有一些经验。当 3D 屏幕保护程序激活时,d3d 设备上下文将切换到独占模式。我认为当设备切换回协作模式时 WPF 无法恢复设备上下文(因此它只影响 Windows XP)

有没有人见过这样的场景?有没有办法解决这个问题?

Windows XP SP3、DirectX 9.0c、.NET 3.5

最佳答案

不是那个确切的问题,但我确实看到了 WPF 和 Windows XP 的奇怪问题,尤其是。最简单的说法是您应该尽快迁移到 Windows 7,但那样的话我就是个 SCSS 。

首先,检查您的视频设备驱动程序。当使用旧显卡的设备驱动程序时,我们在 XP 上遇到了很多 WPF 问题。将其更新到最新版本。那可以解决它。

如果这不起作用,如果可以,请尝试将视频卡更换为不同品牌。这也可能有效(尽管非常不受欢迎)。

第三——你的窗口是半透明的还是非矩形的?如果您将 WPF 应用程序切换为常规的、矩形的、无聊的、丑陋的 Windows XP 窗口,我们发现当我们不再喜欢我们的主窗口时,很多这些怪癖都消失了。我的猜测是这与 XP 没有桌面窗口管理器有关。但话又说回来,我真的不知道。

我知道这一切都令人非常不满意。我们在 XP 上遇到过这样的事情。我祈祷我们的 IT 部门今年能够将我们提升到 7...

关于c# - 3D 屏幕保护程序干扰 WPF 应用程序 (Windows XP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2664762/

相关文章:

c# - 创建新任务并异步调用 web api c# 的正确方法

c# - 内部文本中具有特殊字符的 XmlElement

c# - 如何在 WPF 中强制显示工具提示

c++ - D3DX11CompileFromFile 无效参数 C++

c++ - 在 DirectX 中创建和使用纹理

c# - 用asp传递参数:Button onClick with x-jquery-tmpl

c# - 如何在 ajax wcf 服务中使用防伪 token

.net - 在WPF中实现音频可视化器

c# - 在 wpf 程序中包含数据库的最佳方法?

c# - 在 C++ 或 C# 中的 DirectX 中捕获快速游戏屏幕