2013-09-26 85 views
0

我無法在BHO中打開一個新的CAxWindow,我可以看到「microsoft.com」的請求被觸發但沒有顯示窗口。 我嘗試了很多不同的方式,這是我的最後一個,任何人都有線索有什麼不對?在BHO中創建一個CAxWindow(C++)

謝謝。

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); 
+0

我注意到你發佈了[另一個BHO問題](http://stackoverflow.com/q/19106095/2674222),所以你解決了這個問題嗎?如果是,那麼問題是什麼,你是如何解決的? – avo

回答

0

我認爲m_axWindow.Create創建一個子窗口。那次電話會後,請檢查它的樣式爲WS_CHILD。您可能需要先創建一個普通的彈出式頂級窗口,然後使用該彈出窗口作爲父級創建一個CAxWindow,而不是wndIE。請務必在彈出窗口上執行ShowWindow