【问题标题】:C# DirectShow / Direct XC# DirectShow / Direct X
【发布时间】:2012-03-04 14:59:58
【问题描述】:

我的 C# 应用程序使用 DirectShow 并且需要 DirectX 才能运行。我想在启动时检查 DirectX 是否已启用,任何人都可以建议正确的方法吗?

谢谢

【问题讨论】:

  • 您可以禁用 DirectX 吗?你确定吗?我认为 DirectX 8 或更高版本应该存在于所有装有 Windows XP 或更高版本的计算机上。
  • 在我的 XP 机器上,我可以打开 dxdiag 并禁用 DirectX 功能 DirectDraw Acceleration 和 Direct3D Acceleration。我无法在我的 Win 7 机器上执行此操作,我认为这可能取决于您拥有的图形芯片。
  • 这真的会禁用 DirectDraw 或 Direct3D 吗?或者它只是禁用硬件加速,正如文本所暗示的那样? (即它仍然会运行,只是速度较慢。)

标签: c# directx directshow


【解决方案1】:

DirectShow 不是 DirectX 的一部分。使用 DirectDraw 和 Direct3D 的视频渲染器中只有一些交集,而音频 API 的包装器实际上不再独立,而是其他 API 的包装器。我想说没有什么要检查的,而且 DirectShow 已经是一个操作系统核心组件,但是如果您有一些特定的问题,那么它们是什么?也许您可以尝试在应用启动时直接创建一些 DirectX 对象,看看是否成功。

【讨论】:

    【解决方案2】:

    我认为如果主机上没有安装 DirectX DLL,您的应用程序甚至无法启动,我想我是对的。除此之外,在尝试使用 DirectX 对象之前,您应该始终检查它们的创建是否成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多