首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Internet Explorer的IWebBrowser2和Chrome插件

用于Internet Explorer的IWebBrowser2和Chrome插件
EN

Stack Overflow用户
提问于 2011-08-25 09:41:38
回答 1查看 1.8K关注 0票数 0

我正在尝试使用chrome插件从Internet Explorer8访问IWebBrowser2对象。我可以访问它时,铬插件没有安装,但它不能工作,因为类名等不同。

如果没有chrome插件,我可以使用:

代码语言:javascript
复制
function GetIEFromHWND(WHandle: HWND; var IE: IWebbrowser2): HRESULT;
var
  hInst: HWND;
  lRes: Cardinal;
  MSG: Integer;
  pDoc: IHTMLDocument2;
  ObjectFromLresult: TObjectFromLresult;
begin
  Result := 0;
  hInst := LoadLibrary('Oleacc.dll');
  @ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');
  if @ObjectFromLresult <> nil then begin
    try
      MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');
      SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
      Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, pDoc);
      if Result = S_OK then
        (pDoc.parentWindow as IServiceProvider).QueryService(IWebbrowserApp, IWebbrowser2, IE);
    finally
      FreeLibrary(hInst);
    end;
  end;
end;

这不起作用(我假设),因为没有IHTMLDocument2接口(使用MS Spy++,您可以看到窗口继承完全不同)。

我可以访问我想要访问的" tab“的实例,但最终我需要用一个新的URL”刷新“该选项卡(我打算使用IWebBrowser2.Navigate来完成)。

我试过导入Chrome的类型库,但我也找不到任何有用的东西。因此,我很乐意使用任何我需要的东西,以便刷新我拥有句柄的选项卡。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-08-25 15:31:06

如果你需要使用Chrome框架,我在这里打包了ActiveX控件:http://www.progdigy.com/?p=116

但我建议你使用Delphi Chromium Embedded,你会有更多的可能性。http://code.google.com/p/delphichromiumembedded/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7184228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档