1

我正在从 SHDocVw.ShellWindowsClass() 访问 SHDocVw.InternetExplorer。我可以看到浏览器实例当前所在的页面(LocationURL 属性),但我真正需要的是为浏览器完成的最后一个获取请求。我的具体需求是我的应用程序刚刚启动以处理通过当前网页上的链接下载到用户系统的文件。我需要知道该文件的 URL。LocationURL 为我提供了链接所在页面的 URL,但我需要文件/链接的 URL。

编辑:我一直试图与之交互的 Web 应用程序是 SharePoint。我无法找到从 Internet Explorer 中提取最后点击链接(下载的文件)的 URL 的方法,所以现在我希望找到一种方法从 SharePoint 本身或搭载名称获取该信息SharePoint 用于管理 MS Office 文档下载的 ActiveX 控件。有任何 SharePoint/Name ActiveX 专家吗?

4

2 回答 2

1

由于您无法使用 IUrlHistoryStg::EnumUrls http://msdn.microsoft.com/en-us/library/aa767720%28VS.85%29.aspx从 Internet Explorer 的历史记录中获取 url

尝试确保文件关联设置为一个框,并且您的应用程序可以从命令行获取文件路径来启动。

我将这些键添加到我的注册表中

[HKEY_CLASSES_ROOT\.sdr]
@="sdrfile"

[HKEY_CLASSES_ROOT\sdrfile\shell\open\command]
@="\"D:\\Shenanigans\\MyGreatApp.exe\" \"%1\""

在 Win7 机器上,IE/Sharepoint 想通了。如果您浏览 HKCR,您会发现设置文件关联会变得更加复杂,但看看这是否有效。

于 2009-11-06T19:56:24.637 回答
0

接收DWebbrowserEvents2::OnBeforeNavigate2

于 2009-11-06T22:39:19.687 回答