以编程方式确定安装了哪些IFilter的 [英] Programmatically determine which iFilters are installed

查看:156
本文介绍了以编程方式确定安装了哪些IFilter的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个问题,即在Adobe PDF IFilter的不适合我们的工作始终。因此,我们喜欢用从福昕之一。问题是,如果我们安装福昕PDF IFilter的,再后来客户决定重新安装的Adobe阅读器可能会覆盖福昕PDF IFilter的。

I have a problem whereby the Adobe PDF iFilter doesn't work consistently for us. As such, we like to use the one from Foxit. The problem is, if we install the Foxit iFilter and then later the client decides to reinstall Adobe Reader it may overwrite the Foxit iFilter.

我们可以使用工具,如<一个HREF =http://www.citeknet.com/Products/IFilters/IFilterExplorer/tabid/62/Default.aspx相对=nofollow> IFilter的浏览器查看这一点,但我想办法为此在该应用程序并警告用户/客户端的IFilter的改变。

We can use tools such as IFilter Explorer to view this but I'd like a way to do this in the application and warn the user/client that the iFilter has changed.

有没有办法从检查代码的IFilter(C#)?这个问题或其他可能的解决方案?

Is there a way to check iFilters from code (C#)? Or other potential solutions to this problem?

推荐答案

由于福昕PDF IFilter的实现IPersistStream接口界面,我想你可以尝试从这个接口看到的IFilter,以及用于其CLSID查询,如果它是从福昕之一。福昕PDF IFilter的有 {987f8d1a-26e6-4554-b007-6b20e2680632} ,这是IFilter的资源管理器中的持久性处理程序加载项注册一栏。

Since the foxit IFilter implements IPersistStream interface, I think you can try get this interface from the IFilter, and query for its CLSID to see if it is the one from foxit. Foxit IFilter has a CLSID of {987f8d1a-26e6-4554-b007-6b20e2680632}, which is the "Persistent Handlers Addins Registered" column in IFilter Explorer.

Adob​​e的IFilter的似乎并不被实现此接口。

Adobe's IFilter doesn't seem to be implementing this interface.

这篇关于以编程方式确定安装了哪些IFilter的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆