问题标签 [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.
internet-explorer - 如何设置 IE 扩展名(IE 中的 BHO)
我如何设置 BHO 的名称出现在 IE 扩展中(例如管理插件)。当我使用 regasm.exe 附加它时,出现在 Internet Explorer 插件列表中的名称是我的程序的命名空间。我该如何设置它的名称......?
谢谢。
windows - 存储浏览器助手对象的设置
我在 IE 上有一个浏览器助手对象,它有一些“剪贴板历史”功能。我一直在将设置存储到 BHO 文件所在的目录中的文件中(当前为“$PROGRAMFILES\Common files\folder\”,当我收到代码时就是这样,但我可以更改它)。
在我的计算机(虚拟机中的 XP SP3)中,我编写设置文件没有问题,但我想知道这可能会导致其他计算机出现“写入权限”问题,如果它执行了我应该使用什么其他方法来确保它会在所有 Windows 计算机上工作?
c# - 我可以使用 c++ 从 C# BHO 遍历 DOM 吗?
我正在用 C# 为 Internet Explorer 编写浏览器帮助程序对象 (BHO)!
我想在 DOM 中查找文本节点,如果我想区分文本节点和其他类型的节点,则需要遍历整个 DOM 树。据说这在 C# 中很耗时,但在 C++ 中应该几乎是瞬时的(?)。
有没有办法在 c++ 中进行遍历?我可以使用 DllImport 从 C# 调用的 dll 吗?将 HTMLDocument 传递给我的外部暴露的 c++ 方法是否容易?
还有其他想法吗?
干杯!
c# - 如何降低 WCF 命名管道的完整性
我有一个用 C# 编写的 Internet Explorer 加载项,它通过 WCF 命名管道与 .NET 桌面应用程序通信。桌面应用程序为 netNamedPipeBinding 创建 ServiceHost,并且 IE 加载项的每个实例都创建一个 ChannelFactory 来与应用程序通信。在 Windows XP 下一切正常,但在 Windows 7 中 IE 的保护模式下会抛出异常。
System.ServiceModel.CommunicationException:无法连接到端点“net.pipe://localhost/MyApp.MyID”。---> System.IO.PipeException:'\.\pipe...guid...' 存在管道端点,但连接失败:访问被拒绝。(5, 0x5)
在保护模式下运行加载项是我必须支持的方案。我的理解是,如果我降低命名管道的完整性级别,那么我的 IE 插件将被允许通过它进行对话。我的问题是如何做到这一点。我有使用 WCF 的设置,并且希望保持这种方式。我可以让 WCF 创建具有较低完整性级别的命名管道吗?我要编写什么代码来实现这一点?
visual-studio - 如何在 Visual Studio/Internet Explorer 中调试 C# BHO 项目
我正在使用 Visual Studio 2010 在 C# 中创建一个 IE 扩展。如何在 Internet Explorer 中运行扩展时进行调试?
c++ - 从事件 DISPID_TITLECHANGE 获取 IWebBrowser2 指针
我正在处理浏览器帮助器对象,我正在尝试访问触发事件的 IWebBrowser2。使用 NavigateComplete2 和其他事件,我可以轻松做到这一点,因为我获得了 Invoke 参数上的指针。
但是我在 msdn 上读到了这篇文章,它说 TitleChange 事件的唯一参数是标题,那么如何从事件 TitleChange 中获取指向 webbrowser 界面的指针?
以下是我如何通过其他活动获得它:
我正在使用 Visual Studio 2010。
internet-explorer - Windows 7、IE8:创建 CAxWindow 已完成,但出现访问被拒绝错误
我有 Windows 7、Internet Explorer 8、Visual Studio 2008。我需要创建 Active X 窗口来显示来自其他站点的页面。我尝试在 IE 处于保护模式时创建 CAxWindow 窗口。如果当前站点不受信任,则返回拒绝访问错误 (5)。
新窗口类定义为:
创建新窗口实现为:
其中 hParent 是浏览器的 HWND。结果 hWndContainer = NULL 并且 GetLastError() 返回 5。
MSDN 的文章“Understanding and Working in Protected Mode Internet Explorer”只描述了使用系统注册表、文件和进程——没有任何关于创建窗口的消息。
c# - 在 IE 中为 BHO 使用 Visual Studio 2010 中的断点
我正在 Visual Studio 2010 中开发 BHO。到目前为止,我已经成功注册了 BHO,并在我点击调试时获得了 Visual Studio 启动 IE。BHO 按预期工作,但不幸的是我设置的断点从未被击中。有什么需要先配置的吗?
internet-explorer - 如何从 BHO 捕获 URL 的变化?
如何从浏览器帮助对象中捕获 IE 上 URL 的更改?
一个明显的方法是使用任何常见的浏览器事件,例如 onbeforeenavigate,但如何捕获如下更改:
url.com#你好
更改为
url.com#byebye
这种更改会触发 Internet Explorer 上的任何事件吗?
c++ - 如何检测 Internet Explorer 中的图像加载(并且不显示)?
我正在为 Internet Explorer(8 和 9)编写 BHO 插件。我按照本教程解释了如何编写隐藏页面上所有图像的附加组件。问题是这些图像在页面下载后被隐藏了。所以一秒钟有整页,然后所有图像都消失了。我必须做到,当用户打开页面时,即使一秒钟也不会出现任何图像。
我在 DWebBrowserEvents2 中找不到合适的事件。也许我应该查看 IHTMLDocument2。我其实不知道。
有什么建议么?