【问题标题】:List of DirectShow filters with details带有详细信息的 DirectShow 过滤器列表
【发布时间】:2015-11-27 09:18:17
【问题描述】:

我有一个 C# 中使用 DirectShow.NET 的 DirectShow 过滤器列表。我得到了IFilterMapper2.EnumMatchingFilters() 的过滤器列表。但我只有FriendlyNameFilterData

hr = propertyBag.Read("FriendlyName", out friendlyName, null);
hr = propertyBag.Read("FilterData", out filterDataObj, null);

我想获得“文件名”和“文件版本”,其中显示了GraphStudioNext 和其他工具。如何检索这些信息?

【问题讨论】:

    标签: c# directshow directshow.net


    【解决方案1】:

    我查看了 GraphStudioNext 来源,发现我必须获取 CLSID 并从注册表中获取 dll 文件名:

    hr = propertyBag.Read("CLSID", out clsid, null);
    string dllFile = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("CLSID\\" + clsid + "\\InProcServer32").GetValue("") as string;
    

    最后,可以通过以下方式检索文件版本:

    string fileVersion = System.Diagnostics.FileVersionInfo.GetVersionInfo(dllFile).FileVersion;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多