【问题标题】:create a CAxWindow inside a BHO (C++)在 BHO (C++) 中创建 CAxWindow
【发布时间】:2013-10-02 15:28:09
【问题描述】:

我在 BHO 中打开新 CAxWindow 时遇到问题,我可以看到对“microsoft.com”的请求被触发,但没有显示任何窗口。 我尝试了很多不同的方法,这是我最后一次了,有人知道出了什么问题吗?

谢谢。

CAxWindow m_axWindow;
CRect rc;
HWND wndIE = NULL;
m_pWebBrowser->get_HWND((SHANDLE_PTR*)&wndIE);
GetWindowRect(wndIE, &rc);
CSize sz = CSize(100, 200);
CRect rcPage = new CRect(10, 10, 10, 10);
m_axWindow.Create(wndIE, rcPage, _TEXT("http://www.microsoft.com"), WS_POPUP | WS_TABSTOP, 0, 0U, 0);
HRESULT hRet = m_axWindow.QueryControl(IID_IWebBrowser2, (void**)&m_pWebBrowser);

【问题讨论】:

  • 我注意到您发布了another BHO question,那么您解决了这个问题吗?如果是,问题是什么,您是如何解决的?

标签: c++ internet-explorer com activex bho


【解决方案1】:

我认为m_axWindow.Create 创建了一个子窗口。在调用之后检查其样式是否为WS_CHILD。您可能需要先创建一个普通的弹出式顶级窗口,然后使用该弹出式窗口作为父级创建一个CAxWindow,而不是wndIE。确保在弹出窗口中也输入ShowWindow

【讨论】:

    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2012-03-06
    • 2012-07-21
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多