IWebBrowser2创建一个新的IE浏览器窗口。但是,此浏览器将被预先生成的IE的主进程(会话)继承。
如果浏览器中有多个进程(会话),则希望被所需浏览器的进程(会话)继承。
要对浏览器(会话)进行分组,通常可以双击IE快捷方式。如果您以管理员权限打开它,则可以在IE浏览器窗口中将其作为文件->新部分打开。
我想通过IWebBrowser2创建一个新的浏览器,并继承在现有浏览器的IE进程(会话)中创建的浏览器。
如果您提供了解决此问题的基本示例文件,我们将通过PayPal支持$ 500。
void NewWindows(HWND hHandle, CString strUrl, int x, int y, int cx, int cy)
{
CoInitialize(NULL);
HRESULT hr = NULL;
IWebBrowser2* pWebBrowser = NULL;
hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (LPVOID*)&pWebBrowser);
if (SUCCEEDED(hr) && (pWebBrowser != NULL))
{
pWebBrowser->get_HWND((long*)&m_bNewWindowsHandle);
if (x >= 0) pWebBrowser->put_Left(x);
if (y >= 0) pWebBrowser->put_Top(y);
if (cx >= 0) pWebBrowser->put_Width(cx);
if (cy >= 0) pWebBrowser->put_Height(cy);
VARIANT vtUrl;
VariantInit(&vtUrl);
vtUrl.vt = VT_BSTR;
vtUrl.bstrVal = strUrl.AllocSysString();
pWebBrowser->Navigate2(&vtUrl, NULL, NULL, NULL, NULL);
pWebBrowser->put_Visible(bShow ? VARIANT_TRUE : VARIANT_FALSE);
VariantClear(&vtUrl);
}
else
{
if (pWebBrowser)
pWebBrowser->Release();
}
CoUninitialize();
}
我想继承我想要的浏览器的进程(会话)。