6

我们有一个在 Windows 上作为服务运行的应用程序。该服务使用 SHDocVw.ShellWindows() 定期检查活动的 Internet Explorer 实例。这样,我们就可以在每个 IE 实例中捕获 URL。

我的问题:是否有可能找出每个 IE 实例中的网页是如何启动的。例如 -

  • 用户是否在 IE 中输入 url 来加载网页?
  • 用户是否从另一个 IE 选项卡中选择了链接来启动?
  • 用户是否从其他桌面应用程序(如 Outlook 等)启动 IE 实例

谢谢你。

4

1 回答 1

2

我能找到的最接近您的具体要求的是,也可以查看同一个博客的第 2 部分,其中讨论了一些边缘案例。

博客的第 1 部分讨论了一个名为 TypedURLs 的注册表项(路径:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs),可以在注册表编辑器中找到,该键的更新规则如下:

如果将链接从网页复制并粘贴到 URL 地址栏,并且用户按 Enter 键,这也会填充密钥,因为这类似于物理输入整个地址。如果输入了无法定位的网页或资源的无效地址,则在连接或请求完成(无论成功还是失败)之前,都不会填充密钥。如果在连接完成或资源定位之前选择了 IE 的停止功能,则不会填充密钥。

需要注意的是,浏览器通过超链接、重定向、IE 收藏夹菜单或用户主页访问的网站不会填充此键。此外,当用户使用 IE 的内置功能选择删除其浏览历史记录时,此键将被清除。

希望能帮助到你!

于 2016-02-17T06:42:27.857 回答