这行代码以前工作正常,但现在返回STG_E_FILENOTFOUND(0x80030002)。
hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (LPVOID*)&browser);
我还没有改变我的任何代码,我只是像往常一样运行它并得到了这个错误。 我也曾在其他地方寻找答案,但没有一个能解决这个问题。
可能是什么原因造成的?以及如何解决它?
这里是完整的代码,"浏览器"是IWebBrowser2的变量。
HRESULT AUTHORIZATION::Initialize()
{
if (browser)
return ERROR_ALREADY_INITIALIZED;
HRESULT hr = OleInitialize(NULL);
if (!SUCCEEDED(hr))
return hr;
hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (LPVOID*)&browser);
if (!SUCCEEDED(hr))
{
OleUninitialize();
return hr;
}
browser->put_RegisterAsBrowser(VARIANT_TRUE);
browser->put_RegisterAsDropTarget(VARIANT_FALSE);
browser->put_StatusBar(VARIANT_FALSE);
browser->put_ToolBar(FALSE);
browser->put_Resizable(VARIANT_FALSE);
browser->put_Width(default_dlg_width);
browser->put_Height(default_dlg_height);
return hr;
}