问题标签 [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 投票
1 回答
321 浏览

windows - BHO 或资源管理器的命令按钮

我正在尝试开发一个会出现在 Windows 资源管理器上的命令按钮。我可以为 NSE 执行此操作,但我想做的是使按钮在每个资源管理器窗口上可见。我希望它适用于 Windows 7 和 vista。我知道这是可能的,因为我已经看到 office Groove 做到了,我不确定我是否必须实现 IExplorer(...) 接口或只是创建一个为 Windows 资源管理器注册的简单 BHO(浏览器帮助按钮)和不是 IE。

任何帮助表示赞赏。

0 投票
2 回答
960 浏览

internet-explorer-7 - 如何在BHO中获取网页元素的屏幕坐标

我正在为 IE 编写一个 BHO 对象。

我想要网页左上角的屏幕位置。我怎样才能得到这个职位?DOM 中第一个元素的左上角返回 (0,0)。webBrowser.Left 或 Top 返回浏览器的位置,但不返回页面的左上角。我正在使用 IWebBrowser2。

太感谢了,

-匿名。

0 投票
1 回答
1370 浏览

c++ - 防止放大 CDHTMLDialog(IE 上的 BHO)

我有一个在 IE 中运行的 CDHTMLDialog,它具有我选择的固定大小,并在固定窗口中运行以匹配这个大小。

我的问题是用户可以放大它(通过 ctrl-mousewheel)导致我的 html 比看起来很尴尬的窗口更大或更小,并添加了烦人的滚动条。此外,用户可能会使用 ctrl-+ 或 ctrl-- 来更改 html 大小,这也会导致我的 CDHTMLDialog 变大或变小(尽管仅在更改大小后的导航上)。

任何人都可能知道如何防止 CDHTMLDialog 上的所有缩放,包括滚轮和 ctrl-+?

0 投票
2 回答
1085 浏览

c++ - 窗口区域和透明度

我在 BHO 中有一个 CDHTMLDialog,我希望它是部分透明的,因为透明区域会根据对话框的逻辑而变化。我让它在视觉上变得透明(使用 SetLayeredWindowAttributes),但让这个区域真正透明是至关重要的,因为否则当我点击透明区域时,我的点击不会到达对话框透明部分下方的 IE 窗口。我通过根据对话框活动部分的大小不断调整对话框大小来临时解决此问题,但我无法永远跟上这个...

我认为该解决方案与 Windows 所谓的“区域”(http://msdn.microsoft.com/en-us/library/dd162915%28VS.85%29.aspx)有关,但我不确定如何与他们一起工作。谁能指出我正确的方向?

0 投票
3 回答
1483 浏览

internet-explorer - IE 窗口移动时的处理 - Visual C++

我想处理窗口移动事件。我的第一次尝试是处理DWebBrowserEvents2::WindowSetHeightWindowSetLeft和事件WindowSetTopWindowSetWidth但由于某些原因,这些事件根本没有被触发。我已经通过处理来调整窗口大小HTMLWindowEvents2::onresize。当窗口移动时我将如何处理?

我也尝试过实现IHTMLOMWindowServices,但是当窗口位置发生变化时,它的成员不会被调用。关于什么是一个好的接口来实现有什么建议吗?我正在使用 Visual C++ 中的 ATL 创建一个 IE 扩展。

0 投票
4 回答
24109 浏览

javascript - 查找元素的偏移客户端位置

如何使用 Javascript 查找元素的偏移客户端位置?(我假设可以用 BHO 或 Gecko/NPAPI 编写相同的代码)。

我面临的问题是找出元素偏移客户端位置的方法。并不总是给出正确的e.srcElement.offsetX/Y值(clientX/Y 也是如此)。在某些情况下我们还需要考虑父元素的滚动。

我们一般如何做到这一点?有一个简单的方法吗?

0 投票
2 回答
1928 浏览

.net - 从 BHO 监听 HTML 事件

我一直在研究用 C# 编写的 BHO/工具栏,它监听浏览器当前网页上引发的 HTML 事件。该解决方案包括一个名为 HtmlPageEventManager 的可重用类,其目的是为每个打开的新网页订阅给定的 HTML 事件列表。目标是在用户可以开始与页面元素交互时立即附加处理程序,甚至在页面加载完成之前。使用这个类很简单——只需调用构造函数:

在此处下载我的解决方案进行试用并向我发送反馈。如果您觉得它有用,请随意在您自己的项目中使用它。尽管它运行良好,但有时它无法附加事件。我很难确定这些情况。所以我可以使用一些帮助来改进 HtmlPageEventManager。

我的解决方案引用了 SpicIE的程序集,但它们不包含在上述下载中,因此您需要从SpicIE 网站获取它。顺便说一句,这可能是问的好时机:SpicIE 有多受欢迎?有什么更好的工具可以使用吗?

0 投票
1 回答
1544 浏览

.net - IHTMLSelectionObject.createRange() 抛出 UnauthorizedAccessException

我编写了以下代码来从当前网页中检索选定的文本:

但在某些网页上,对 frameDoc.selection.createRange() 的调用会引发 UnauthorizedAccessException:

我怎样才能避免这个错误?

0 投票
1 回答
1006 浏览

c++ - BHO 处理 OnSubmit 事件

基本上,我想开发一个 BHO,它可以验证表单上的某些字段并自动将一次性电子邮件放置在适当的字段中(据我所知更多)。所以在 DOCUMENTCOMPLETE 事件中我有这个:

我将如何使用 IHTMLFormElement 接口来监听 onsubmit 事件?

0 投票
1 回答
359 浏览

c# - BHO 中的元素偏移和客户位置

如何找到HTMLElementBHO(C#) 中的位置?

我需要页面中元素的偏移位置和元素的客户端位置,即元素从客户端窗口左上角的位置。