从javascript调用C#BHO方法

use*_*511 3 javascript c# com internet-explorer bho

我需要从javascript调用C#BHO方法

我已经按照这个问题给出的解决方案了

我收到错误:

'mshtml.HTMLWindow2Class' does not contain a definition for 'myExtension'.
Run Code Online (Sandbox Code Playgroud)

我不能指定:

dynamic window = browser.Document.parentWindow; 
Run Code Online (Sandbox Code Playgroud)

由于parentWindow未定义,我必须转换为(mshtml.IHTMLDocument2)和(mshtml.IHTMLWindow2)

有没有人有一个我可以参考的完整工作示例或任何帮助或替代解决方案

小智 6

我有同样的问题.以下修复似乎在我的BHO中起作用:

dynamic window = _webBrowser.Document.parentWindow;
var windowEx = (IExpando)window;
PropertyInfo p = windowEx.AddProperty("myExtension");
p.SetValue(windowEx, this);
Run Code Online (Sandbox Code Playgroud)

代替:

dynamic window = _webBrowser.Document.parentWindow;
var windowEx = (IExpando)window;
PropertyInfo p = windowEx.AddProperty("myExtension");
window.myExtension = this;
Run Code Online (Sandbox Code Playgroud)