- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用以下示例创建 IE BHO:http://code.msdn.microsoft.com/CSBrowserHelperObject-c5f3d2f6
我遇到的问题是,对于每个选项卡,BHO 都加载了两次。我在 BHO 构造函数中插入了以下核心:
Trace.WriteLine("BHO.ctor");
Trace.WriteLine("Thread: " + Thread.CurrentThread.ManagedThreadId + " of process: " + Process.GetCurrentProcess().Id);
在析构函数中:
Trace.WriteLine("BHO.destructor");
Trace.WriteLine("Thread: " + Thread.CurrentThread.ManagedThreadId + " of process: " + Process.GetCurrentProcess().Id);
然后在 Setsite 中:
Trace.WriteLine("Bho.SetSite: " + site);
Trace.WriteLine("Thread: " + Thread.CurrentThread.ManagedThreadId + " of process: " + Process.GetCurrentProcess().Id);
当我在调试输出中启动 IE 时,我看到:
[3376] BHO.ctor
[3376] Thread: 1 of process: 3376
[3376] Bho.SetSite: System.__ComObject
[3376] Thread: 1 of process: 3376
[3376] BHO.ctor
[3376] Thread: 3 of process: 3376
[3376] Bho.SetSite: System.__ComObject
[3376] Thread: 3 of process: 3376
只有当我关闭它时:
[3376] BHO.destructor
[3376] Thread: 2 of process: 3376
[3376] BHO.destructor
[3376] Thread: 2 of process: 3376
因此,BHO 被加载了两次,并且 BHO 的两个实例同时存在。为什么会发生这种情况?
我在我的 BHO 订阅来自第三方集会的事件时发现了这个问题,并且我遇到了一些奇怪的行为(因为该事件有超过 1 个订阅者)。一开始我以为是第三方库导致的,但现在我从 BHO 中删除了所有额外的代码,所以它基本上什么都不做,但仍然被加载了两次。
此外,如果在 SetSite 中我添加 OnDocumentComplete 处理程序,然后在此处理程序中我使用跟踪将 URL 写入调试控制台,我看到第一个线程 URL 将是我页面的实际 URL(例如 www.google.com),第二个线程它将是“关于:空白”。另外,如果我再打开一个选项卡并在那里做一些事情,然后切换到第一个选项卡,我会看到又创建了一个 BHO 实例(URL:about:blank)
最佳答案
这可能是IE的完整性级别管理。
我正在尝试自己解决这个问题。
我目前正在考虑:
第二个似乎在一秒钟左右后消失了。
关于c# - IE BHO 为每个选项卡加载两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896804/
我已经根据本教程编写了一个 BHO: http://www.codeproject.com/KB/cs/Attach_BHO_with_C_.aspx 我的 GetSite 和 SetSite 与教程
我想让我的 BHO 监听某个网页中某个元素的 onmousedown 事件。我有找到特定元素的所有代码,在 msdn 中它说我需要使用 get_onmousedown事件。我想出了这段代码。 CCo
我已经实现了 BHO 插件来使用 C# 从网页中检测 NUmber。每次加载页面时都会在网页中附加 javascript 并且 javascript 检测数字并将其替换为超链接数字。 代码 publ
对不起我的无知。你必须向我解释事情,我正在涉足新领域。我有一些 JAVA 背景,但主要是 php、javascript。 http://www.codeproject.com/Articles/199
我有一个用 C# 编写的 BHO 库 mybho.dll。我嵌入了一个资源文件“image.png”。我想在某些页面上显示此图像。根据我的阅读,它应该是这样的: 但是 Internet Explor
我正在使用 helloworld 示例创建 BHO。 Building Browser Helper Objects with Visual Studio 2005 BHO 未加载,我无法在 SetS
测试浏览器扩展的最佳方法/工具是什么? 在我的案例中,我使用的是 IE 浏览器帮助程序对象 (C#),它有一个自己的小 UI 和大量的数据库交互。到目前为止,我们使用自动化单元测试来测试我们的模型/业
我有一个用 C++ 编写的浏览器帮助程序对象,但在接收 OnHelp HtmlEvent 时遇到问题。 当我尝试访问属性时,浏览器崩溃了。 VARIANT_BOOL STDMETHODCALLTYPE
如果有两个功能相似的BHO,IE如何决定先加载哪个?因为先加载的BHO会影响后面加载的BHO。所以我想将我的 BHO 设置为第一个加载的。我能做什么? 最佳答案 没有记录的方法可以做到这一点。但根据我
我正在为 Internet Explorer (BHO) 编写扩展程序。我阅读了很多问题和答案,但无法找到和理解,如何在每个页面上从资源中执行 Javascript 文件?不附加网页,需要在每个页面上
我正在使用以下示例创建 IE BHO:http://code.msdn.microsoft.com/CSBrowserHelperObject-c5f3d2f6 我遇到的问题是,对于每个选项卡,BHO
我似乎找不到在我的 IE C# BHO 和作为 SYSTEM 运行的 C# 控制台应用程序之间进行通信的方法。 到目前为止,我已经尝试过使用 Remoting 和 EventWaitHandle,但是
我正在 CSHARP 中开发 BHO,但我在 onDocumentComplete 方法中遇到问题。 它在主文档加载的每个 IFRAME 上运行。我怎样才能避免它?我只想处理主窗口中的事件。 publ
我不是 windows 程序员,但似乎我必须为 Internet explorer 做一个扩展。 我在这个线程的帮助下制作了一个 BHO:How to get started with develop
IE 不会在页面刷新 (F5) 后触发 DocumentComplete 和 NavigateComplete2 事件。 这显然是“设计使然”,但它很难响应页面重新加载。 哪些方法取得了最大的成功?有
我需要在 C# 中创建一个 BHO。除了典型的 Microsoft C++ 示例之外,还有其他可用的文档吗? 我该如何开始?谢谢... 最佳答案 这实际上并没有那么难,但是您必须亲 body 验 CO
我有一个 C# BHO,它在文档中调用一些 JS 函数。通常我是这样做的(一切正常): IHTMLWindow2 wnd; //... wnd.execScript("testMethod(\"tes
http://www.adp-gmbh.ch/win/com/bho.html 当我编译时,我得到了很多错误: error C2236: unexpected 'class' 'adpbho'. Di
我正在为一个客户做一个项目。我们正在构建一个内部门户网站,出于各种(主要是政治)原因,我们最终为 IE8 构建了一个 BHO。 t 所做的其中一件事是确保一次只能打开一个门户实例。它通过在门户打开时写
我需要开发一个 bho,但我以前从未使用过它。那么任何人都可以给我一些关于如何开始 bho 的建议吗?欢迎一些教程。 PS:我熟悉C++开发。 最佳答案 以下是一些示例: http://social.
我是一名优秀的程序员,十分优秀!