CFile file;
file.open("http://......",0);这样不行.有别的办法吗?

解决方案 »

  1.   

    ShellExecute(this->m_hWnd,"open","http://www.baidu.com","","", SW_SHOW );
      

  2.   

    用ShellExecute好象没发现在哪儿能取到返回值?
      

  3.   


    void CDlgDlg::OnBnClickedButton2()
    {
    //GetUrlSource("http://www.163.com");
    // TODO: Add your control notification handler code here
    CString m_theUrl = _T("http://www.163.com"/*"file://C:/cmd.txt"*/);
    CString filename("1.htm");
    CInternetSession session;
    CString url = m_theUrl;
    //url += filename;
    CInternetFile* file = 
    (CInternetFile*)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_BINARY); if(file == NULL)
    {
    file->Close();
    delete file;
    session.Close();
    MessageBox(_T("下载文件失败!\n\n错误代码:1"),_T("提示"),MB_ICONERROR);
    return;
    } CString name = filename; CFile file1; if(file1.Open(name,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary,NULL))
    {
    int readlen = -1;
    char buf[1024];
    while(1)
    {
    //char* buf = new char[1024];
    readlen = file->Read(buf,1024);
    if(readlen == 0)
    {
    //delete buf;
    break;
    }
    file1.Write(buf,readlen);
    //delete buf;
    ZeroMemory(buf,1024);
    }
    file1.Close();
    }
    else
    {    
    MessageBox(_T("下载文件失败!\n\n错误代码:2"),_T("提示"),MB_ICONERROR);
    file->Close();
    delete file;
    session.Close();
    return;
    } file->Close();
    delete file;
    session.Close(); //CDialog::OnOK();
    }