void CMyBrowserView::OnAddtofavorites() { // TODO: Add your command handler code here IShellUIHelper* pShellUIHelper; HRESULT hr = CoCreateInstance(CLSID_ShellUIHelper, NULL, CLSCTX_INPROC_SERVER, IID_IShellUIHelper,(LPVOID*)&pShellUIHelper);
if (SUCCEEDED(hr)) { _variant_t vtTitle(GetTitle().AllocSysString()); CString strURL = m_webBrowser.GetLocationURL();
pShellUIHelper->AddFavorite(strURL.AllocSysString(), &vtTitle); pShellUIHelper->Release(); } }我用的是这样的代码,包含了头文件,但是还是出错,错误如下: C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(356) : error C2065: 'getTitle' : undeclared identifier C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(356) : error C2228: left of '.AllocSysString' must have class/struct/union type C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(357) : error C2065: 'm_webBrowser' : undeclared identifier C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(357) : error C2228: left of '.GetLocationURL' must have class/struct/union type 执行 cl.exe 时出错.能帮我解决下么》谢谢~~
[email protected]
[email protected]
[email protected]
参考:
void main(object sender, EventArgs e)
{
webBrowser1.Navigate( "http://blog.sina.com.cn/zswang "); IntPtr vHandle = webBrowser1.Handle; vHandle = FindWindowEx(vHandle, IntPtr.Zero, "Shell Embedding ", null);
vHandle = FindWindowEx(vHandle, IntPtr.Zero, "Shell DocObject View ", null);
vHandle = FindWindowEx(vHandle, IntPtr.Zero, "Internet Explorer_Server ", null);
SendMessage(vHandle, WM_COMMAND, IDM_ADDFAVORITES, (int)Handle);
}
{
IShellUIHelper* pShellUIHelper;
HRESULT hr = CoCreateInstance(CLSID_ShellUIHelper, NULL,
CLSCTX_INPROC_SERVER, IID_IShellUIHelper,(LPVOID*)&pShellUIHelper); if (SUCCEEDED(hr))
{
BSTR bstrTitle;
CComPtr<IDispatch> spDisp;
spDisp.p = GetHtmlDocument();
CComQIPtr<IHTMLDocument2> pHtmlDoc(spDisp);
pHtmlDoc->get_title(&bstrTitle);
CString strURL = GetLocationURL();
_variant_t vtTitle(bstrTitle); pShellUIHelper->AddFavorite(strURL.AllocSysString(), &vtTitle);
pShellUIHelper->Release();
}
}
{
// TODO: Add your command handler code here IShellUIHelper* pShellUIHelper;
HRESULT hr = CoCreateInstance(CLSID_ShellUIHelper, NULL,
CLSCTX_INPROC_SERVER, IID_IShellUIHelper,(LPVOID*)&pShellUIHelper);
if (SUCCEEDED(hr))
{
_variant_t vtTitle(GetTitle().AllocSysString());
CString strURL = m_webBrowser.GetLocationURL();
pShellUIHelper->AddFavorite(strURL.AllocSysString(), &vtTitle);
pShellUIHelper->Release();
}
}我用的是这样的代码,包含了头文件,但是还是出错,错误如下:
C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(356) : error C2065: 'getTitle' : undeclared identifier
C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(356) : error C2228: left of '.AllocSysString' must have class/struct/union type
C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(357) : error C2065: 'm_webBrowser' : undeclared identifier
C:\Documents and Settings\Administrator\桌面\修改版MyBrowser\MyBrowserView.cpp(357) : error C2228: left of '.GetLocationURL' must have class/struct/union type
执行 cl.exe 时出错.能帮我解决下么》谢谢~~