我需要一些IE插件(浏览器助手对象)的帮助。
插件应该做什么:
如果用户点击后面带有pdf的链接,该插件应该调用计算机上安装的exe文件。 exe文件将检查PDF并打开默认的pdf应用程序或特殊的应用程序。
我做了什么:
我的BHO从我的IE开始。我用这个代码作为开头:
http://www.codeproject.com/Articles/19971/How-to-attach-to-Browser-Helper-Object-BHO-with-C
我禁用了所有的adobe插件,因此ie下载窗口显示出来。惠特这个代码,我可以解析HTML身体添加HTML标记等,但那不是我想要做的...
我的问题:
我不知道如何获取pdf。如果我直接调用pdf下载链接,则将站点对象的强制转换为InternetExplorer或WebBrowser对象失败。
public int SetSite(object site)
{
if (site != null)
{
ieInstance = site as InternetExplorer;
ieInstance.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(this.OnDocumentComplete);
}
else if (ieInstance != null)
{
ieInstance.DocumentComplete -= new DWebBrowserEvents2_DocumentCompleteEventHandler(this.OnDocumentComplete);
}
return 0;
}
public int SetSite(object site)
{
if (site != null)
{
ieInstance = site as InternetExplorer;
ieInstance.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(this.OnDocumentComplete);
}
else if (ieInstance != null)
{
ieInstance.DocumentComplete -= new DWebBrowserEvents2_DocumentCompleteEventHandler(this.OnDocumentComplete);
}
return 0;
}
Document ='((SHDocVw.InternetExplorer)(ieInstance))。文档'抛出了'System.Runtime.InteropServices.COMException'类型的异常
有人能告诉我,我怎样才能抓住IE浏览器中的下载窗口?我知道在下载之前有一个事件,但是这个事件对我没有帮助。
答案 0 :(得分:0)
你想要更广泛地实现什么目标?
当浏览器显示PDF文件时,您无法获取HTML文档实例,因为没有PDF文件 - 加载PDF对象而不是HTML呈现对象。
根据您要实现的目标,可能有更好的方法来实现它(最有可能是registering a MIME Filter用于application / pdf MIME类型)。