0

我正在为用户收集所有硬件信息有没有办法检查最终用户是否有可用的MS Directshow

4

1 回答 1

1

唯一一次 DirectShow 可能不可用是在没有安装 DirectX 的 Win95 上。自 Win98 以来,它是系统的默认组件。如果你正在编写一个 Win8 Metro 应用程序也是不可用的,这里你需要使用 Media Foundation。但对于 Win8 桌面应用程序,它仍然可用。

如果你真的真的很想测试它是否可用,那么尝试创建一个过滤器图。

IGraphBuilder *pGraph = NULL;
HRESULT hr = CoCreateInstance(CLSID_FilterGraph, NULL,
                 CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGraph);

如果hr不是S_OKpGraph静止NULL,则它不可用。

或者有另一个可能的时间 DirectShow 或它的一部分不可用:如果有人完全搞砸了他的系统并注销了所需的 COM dll!

于 2012-09-08T05:18:01.620 回答