问题标签 [bho]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
835 浏览

c++ - 在 Internet Explorer 中检测 DOM 修改

我正在为 ie7 编写浏览器帮助对象,我需要检测 DOM 修改(即通过 AJAX)。到目前为止,我找不到任何可行的解决方案。

0 投票
2 回答
1077 浏览

c# - 从 IE BHO 打开时,如何确保对话框是模态的?

我有一个用 c# 编写的 Internet Explorer Browser Helper Object (BHO),在不同的地方我打开表单作为模式对话框。有时这行得通,但在某些情况下却行不通。我目前可以复制的情况是 IE 正在运行 javascript 以打开其他子窗口......我想它在某个地方有点混乱......

问题是当我打电话时:

该表单不是模态的,因此我可以单击 IE 窗口并获得焦点。由于 IE 正在运行我的代码,因此它不会刷新,因此对用户来说,IE 似乎处于挂起状态。

有没有办法确保表单以模态方式打开,即表单不可能隐藏在 IE 窗口后面。

(我使用的是 IE7。)

注意:这是一个与这篇文章类似的问题,尽管它使用的是 java。我想解决方案是正确传递 IE 窗口的 IWin32Window ,所以我正在调查。

0 投票
2 回答
1105 浏览

internet-explorer - 你用什么来测试你的浏览器扩展/BHO?

测试浏览器扩展的最佳方法/工具是什么?

在我的例子中,我使用 IE Browser Helper Object (C#),它有自己的小型 UI 和大量的数据库交互。到目前为止,我们使用自动化单元测试来测试我们的模型/业务对象,但手动测试 UI/场景测试。我正在考虑开始使用 Selenium 来控制浏览器,然后需要添加一些其他脚本来控制和断言我的 UI 元素的行为并检查数据库以获得正确的结果。

有什么建议吗?处于类似情况的其他人会做什么(无论是开发 BHO 还是 Firefox 扩展或其他)?

0 投票
2 回答
1752 浏览

c# - Windows Vista 中的浏览器帮助程序对象 (BHO) 仅具有管理员权限?

对于一个大学项目,我编写了一个 Internet Explorer 浏览器帮助器对象来在浏览时处理 Web 文档信息。它在带有 IE6 和 IE7 的 Windows XP 上运行成功。

现在我遇到的问题是,在 Windows Vista 下,相同的 BHO 需要管理员权限才能运行。如果您以管理员身份启动 IE,浏览器和 BHO 会运行,但如果您以普通用户身份启动,则会崩溃。

BHO 当然是在系统上注册并在浏览器中激活的。

我该怎么做才能让具有非管理员权限的用户运行已注册和激活的 BHO?或者可能是其他原因,我完全想念它?

非常感谢您的帮助!

0 投票
4 回答
559 浏览

multithreading - COM:从其他线程调用会导致崩溃,如何让它在同一个线程上运行?

我正在做一个在其他线程上接收事件的 BHO(IE 扩展)。当我从其他线程访问 DOM 时,IE 崩溃。是否可以使 DOM 从与主 BHO 线程相同的线程访问,以免崩溃?

这似乎是一个通用的 COM 多线程问题,我不太了解。

0 投票
1 回答
1451 浏览

internet-explorer - 如何在 IE 插件 (BHO) 中控制工具栏位置

我正在尝试使用“ Browser Helper Objects ”(BHO)开发一个 Internet Explorer 7 插件。目标是拥有一个标准的 IE 工具栏,其中包含一些按钮和一个自定义控件。我想在 .NET 中开发它

我从这里的基线样本开始。这工作正常,但...

  • 如何控制工具栏在浏览器中的显示位置?目前它只显示在菜单行上。
  • 如何让用户像其他工具栏一样移动它。大多数其他工具栏(内置和插件)都有一个虚线分隔符,您可以在其中抓取和移动它们。

如果有更好的方法来开发这个(比如 FireFox JS 插件),我也想知道。

0 投票
1 回答
2876 浏览

c# - 如何为 shdocvw.dll 创建强命名互操作 dll

我在 c# 中有一个 Browser Helper Object 项目,它(显然)引用了 shdocvw.dll。我想我想为 shdocvw.dll 创建一个强命名的互操作 dll。我该怎么做 - 我已经看到了一堆关于 aximp.exe 和 tlimp 的建议,但我不清楚它们是如何组合在一起的。

0 投票
1 回答
577 浏览

com - 如何在webcontrol主机的img元素中提取图片?

我想从 html 页面中提取位图。我希望从网页中的 IHTMLImgElement 中找到 IStream、IPersistStream 或 IPersistStreamInit。但是我找不到任何这些。

我可以从缓存中读取图片,但这有点不可靠,我想避免从文件系统中读取。

有没有我可以用来获取位图的接口?

0 投票
2 回答
18350 浏览

internet-explorer - 如何从我的程序中列出 Internet Explorer 使用的插件 (BHO)?

我需要在我的 Win32 独立程序中检索当前安装的 Internet Explorer 加载项(浏览器帮助程序对象)的列表,以及 - 如果可能的话 - 它们的启用/禁用状态。

由于反间谍软件程序(或例如Autoruns )可以从某个地方获取此列表,是否有一种简单的方法来以编程方式请求此列表?

编辑:感谢@Stefan,他向我指出了正确的注册表项(所有 HKLM):

0 投票
2 回答
1278 浏览

c# - 触发进度更改事件处理程序时如何减少 CPU 使用率?

在此链接的帮助下,我创建了一个 BHO 应用程序。

如果我 Build 上面文章中得到的源代码,CPU 使用率提高到 70-80%。

我怎样才能减少这种情况?

在上面的文章中,我使用了 progresschange 事件处理程序,而不是 Document complete 事件处理程序。

在 foreach 循环中,我曾经检查网页的每个标签的标签名,在构建上述代码时(或在注册 dll 之后),CPU 使用率从 10% 到 80% 持续增加,如果有可能会导致问题是包含大量数据(元素)的网页.....

我想避免这种情况,是否有任何方法可以让我获取网页中存在的所有标签的所有标签名。请提出一些建议,以便我可以避免这个问题。谢谢...导致问题的代码是粗体字符。对于找到的每个标记元素,它都显示包含标记元素标记名的消息框。

我遇到问题的代码是:

此事件重复生成。如何降低 CPU 使用率?