【问题标题】:DirectShow Filter Graph Editor doesn't show remote graphsDirectShow 过滤器图形编辑器不显示远程图形
【发布时间】:2010-05-14 08:53:52
【问题描述】:

我在从 DirectShow 过滤器图形编辑器连接到远程图形时遇到问题。当我运行创建直接显示图的应用程序时,在我的 Windows XP 机器上,远程图列表中显示,但在 Windows 7 (x64) 机器上,远程图列表为空。我已经注册了 proppage.dll 并且还注册了 directshowspy.dll ...但仍然没有结果。有什么想法吗?

【问题讨论】:

    标签: directshow graphedit


    【解决方案1】:

    有一个proppage.dll 和一个x64/proppage.dll,您需要同时注册以确保 x64 和 x86 应用程序都能正常工作。

    Windows SDK 应该可以使用 DLL 文件。例如,对于 Windows 10 SDK,文件通常位于 %ProgramFiles(x86)%\Windows Kits\10\bin\%version% 文件夹中的 x64x86 文件夹中,%version% 是 SDK 的安装版本(例如 10.0.18362.0) .

    【讨论】:

    • 两者都已经注册...尝试了几次取消注册/注册...没有...
    • 您是否以管理员权限运行?如果您在具有提升权限的调试器下运行一个应用程序,它可能无法查看另一个应用程序。
    • UAC 已关闭,注册以管理员身份执行,而我尝试以非管理员身份连接到图形
    • 对我来说 - 我必须从 Windows SDK 注册 proppage.dll,然后以我的普通用户 ID 运行 graphedt。该应用程序使用我的用户 ID 运行,因此 graphedt 必须使用相同的用户 ID。以管理员身份运行 graphedt 未显示远程图。我注册了 proppage.dll 的 x64 和 x86 版本,我的应用程序是 x86,现在显示在 graphedt ok 中。
    【解决方案2】:

    我第一次迁移到 Windows 7 时遇到了这个问题。DirectShow 由为 x86 或 x64 架构构建的过滤器组成。

    如果您注册的是 x64 版本的 DirectShowSpy.dll,不要期望能够监视使用 x86 过滤器的图形。

    获取 x86 版本的 DirectShowSpy.dll,取消注册已安装的版本,然后安装 x86 版本。

    我在我的机器上保留了 DirectShowSpy.dll 的两个版本,并注册了相应的版本来处理特定的图表。

    我也推荐RadScorpion's GraphStudio ;)

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      这是在 XP 中运行但在 Windows 7 中不运行的同一应用程序吗?应用程序需要手动将其图形公开给 Running Object Table,以便 GraphEdit 可以看到它。

      此处示例:http://forum.inmatrix.com/index.php?showtopic=4439&view=findpost&p=19994

      【讨论】:

      • 它将图形暴露给 ROT,一切都在 Windows XP 机器上运行良好,甚至在其他一些 Windows 7 机器上。看来我的机器出了点问题,但不知道是什么问题。
      【解决方案4】:

      好吧,我遇到了同样的问题,发现GraphEdit 必须在管理员级别运行。 否则,我看不到任何远程图形。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多