网页另存为的问题

gloom 2003-06-21 01:58:44
我用TCppWebBrowser打开一个网页后,要将这个网页存储下来,我用的代码如下:

AnsiString sFile="c:\\myTest.html";
TVariant var=sFile;
pCurrBrowser->ExecWB(OLECMDID_SAVEAS,
OLECMDEXECOPT_DONTPROMPTUSER,&var);
我不想它弹出存储文件对话框,而是直接使用我提供的文件名来存储,OLECMDEXECOPT_DONTPROMPTUSER在这里好像不起作用,谁能告诉我怎么用啊?
...全文
51 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gloom 2003-06-23
  • 打赏
  • 举报
回复
谢谢了,我试了一下,好像不用前面一截,
我直接用WebBrowser的Document对象也可以

IDispatch* piDisp = 0;
IPersistFile* piPF = 0;
HRESULT hr;
piDisp=pCurrBrowser->Document;
if(piDisp)
{
hr = piDisp->QueryInterface(IID_IPersistFile, (void**)&piPF);
if(SUCCEEDED(hr))
{
piPF->Save(WideString(sFile), TRUE);
piPF->Release();
}
piDisp->Release();
}
叶子哟 2003-06-21
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=18465
这是一段vc的,你参考一下:
// TODO: Add your command handler code here
CFileDialog dlg(FALSE, NULL, NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
NULL, NULL);
if(dlg.DoModal()==IDCANCEL)
return;
_bstr_t path=dlg.GetPathName();

HRESULT hr;
IWebBrowser2* piWeb = 0;
IDispatch* piDisp = 0;
IPersistFile* piPF = 0;
IUnknown* piUnk = m_wndBrowser.GetControlUnknown();
hr = piUnk->QueryInterface(IID_IWebBrowser2, (void**)&piWeb);
if(FAILED(hr))
{
AfxMessageBox("QueryInterface for IWebBrowser2");
return;
}
hr = piWeb->get_Document(&piDisp);
if(SUCCEEDED(hr))
{
hr = piDisp->QueryInterface(IID_IPersistFile, (void**)&piPF);
if(SUCCEEDED(hr))
{
piPF->Save(path, TRUE);
piPF->Release();
}
piDisp->Release();
}

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧