LRESULT CHelperbarWindow::OnToolbarMenu(WORD wCode, WORD wId, HWND hWnd, BOOL& bHandled) { CXRefreshBHO* BHO; CBrowserMessageWindow* window; { BrowserManagerLock browserManager; window = browserManager->FindBrowserMessageWindow(m_BrowserId); if (!window) return 0; BHO = window->GetBHO(); if (!BHO) return 0; } switch (wId) { case IDC_HB_TOOL_BUTTON: break; case IDC_HB_REFRESH_BUTTON: Log(_T("Manual refresh performed by user"), ICON_REFRESH); BHO->PerformRefresh(); break; case IDC_HB_CONNECT_BUTTON: Log(_T("Connection requested by user"), ICON_CONNECTED_BTN); BHO->Connect(); break; case IDC_HB_DISCONNECT_BUTTON: Log(_T("Disconnection requested by user"), ICON_DISCONNECTED_BTN); BHO->Disconnect(); break; case ID_POPUPMENU_VISITSITE: { CComPtr<IWebBrowser2> browser = BHO->GetBrowser(); if (!!browser) { CComBSTR url = _T("http://xrefresh.com"); CComVariant target = _T("_blank"); CComVariant flags = navOpenInNewTab; browser->Navigate(url, &flags, &target, NULL, NULL); } } break; case ID_POPUPMENU_ABOUT: { CAboutBox kAboutBox; kAboutBox.DoModal(); } break; case ID_POPUPMENU_ALLOWEDSITES: { CComQIPtr<IWebBrowser2> browser; { BrowserManagerLock browserManager; CBrowserMessageWindow* window = browserManager->FindBrowserMessageWindow(m_BrowserId); if (!window) return 0; browser = window->GetBrowserInterface(); if (!browser) return 0; } CSitesDialog kSitesDialog(GetSiteRootUrl(browser)); kSitesDialog.DoModal(); } break; } return 0; }