0

我正在为 IE 写一个 BHO。我想从地址栏中获取用户的输入。输入可以是 url 或搜索关键字。因为还有其他 BHO 会将用户的输入更改为符合条件的 url。我不需要更改并希望从用户那里获得原始输入。哪个调度事件将是从 BHO 中获取用户原始输入的合适时间?我怎样才能得到它?您的回答将不胜感激。

4

2 回答 2

1

在 Windows 7 上,我看到一个带有“Address Band Root”类的窗口(使用 Spy++)。这大概是浏览器中的地址栏。它有一个子窗口,它是一个编辑控件。您可以子类化或挂钩此编辑控件,以便获得EN_CHANGEEN_UPDATE通知。然后您可以查询它以获取当前文本。这是一种非常先进的技术,但通常情况下,在 IE 中做简单的事情需要复杂的代码。

哦,我应该提一下,这大概不会在 IE 保护模式下工作。您可以实现一个单独的 COM 对象并让 BHO 对其进行实例化并让它完成繁琐的工作。通常 IE 会提示用户访问提升模式进程的权限,但您可以使用注册表来覆盖此行为

就像我说的,这是先进的。

于 2012-10-03T07:49:34.940 回答
0

你看过 BeforeNavigate2 事件吗?http://msdn.microsoft.com/en-us/library/aa768326(v=vs.85).aspx

于 2012-08-29T03:55:05.667 回答