标签: mfc

  •  CString 对象的 AllocSysString 方法将 CString 转化成 BSTR

     CString 对象的 AllocSysString 方法将 CString 转化成 BSTR的方法:

    CString s; 
    s = "i love you";
    BSTR b = s.AllocSysString();
    C++

  • VS2003调试DLL, 不中断的问题

    VS2003调试DLL, 不中断的问题,直接把所有工程 rebuild all,然后再 替换新生成的dll,再设置断点,调试

  • CHttpFile 获取URL重定向后的文件名

    CHttpFile 获取URL重定向后的文件名

    // 获取URL重定向后的文件名,如果没有重定向,也返回下载文件名
    CString GetFileNameFromRedirectUrl(CString strUrl)
    {
    	CInternetSession iSession; 
    	CStdioFile* pFileDown = NULL; 
    	CString sFileName; 
     
    	pFileDown = iSession.OpenURL(strUrl, 1, INTERNET_FLAG_TRANSFER_BINARY); 
     
    	CHttpFile* pHttpFile = (CHttpFile *)pFileDown; 
    	HINTERNET hHttpFile = HINTERNET(*pHttpFile); 
     
    	//获得重定向文件名 
    	BOOL bResult = pHttpFile->QueryOption(INTERNET_OPTION_URL, sFileName);
    	int flag=sFileName.ReverseFind('/');
    	CString strFileName=sFileName.Mid(flag+1);
     
    	return strFileName;
    }
    C++
  • 错误: _malloc 已经在 Libcmtd.lib 中定义, 引发的思考

    错误: _malloc 已经在 Libcmtd.lib 中定义, 引发的思考:

    C++编译器选项:/MT,/MTd,/Md,/MDd
    必须让工程所使用的库都使用相同的配置,否则就会有相应的警告或错误提示,甚至出现无法解析的函数,
    有时,我们使用的库不是自己可以控制的,那么就只能把工程属性设置成你使用库的选项相同,这样可以编译通过了.

  • 用CHtmlView接口获取HTML源文件

    用CHtmlView接口获取HTML源文件:

    支持在UNICODE工程下获取HTML代码,无乱码。。。。发了两年多了才知道,害得我找了一晚上,没想到自己的博客里就有。。。

    BOOL CWeb::GetSource(CString& strString) 
    { 
        IHTMLDocument2* pHtmlDoc2 = (IHTMLDocument2*)GetHtmlDocument(); 
        // check if HtmlDocument initialized 
        if( pHtmlDoc2 != NULL) 
        { 
            IHTMLDocument3* pHTMLDoc3 = NULL; 
            HRESULT hr = pHtmlDoc2->QueryInterface(IID_IHTMLDocument3, (LPVOID*)&pHTMLDoc3); 
            ASSERT(SUCCEEDED(hr)); 
            if(pHTMLDoc3) 
            { 
                IHTMLElement* pDocElem=NULL; 
                hr = pHTMLDoc3->get_documentElement(&pDocElem); 
                ASSERT(SUCCEEDED(hr)); 
                if(pDocElem) 
                { 
                    BSTR bstrHTML; 
                    pDocElem->get_outerHTML(&bstrHTML); 
                    pDocElem->Release(); 
                    USES_CONVERSION; 
                    //MessageBox(OLE2T(bstrHTML), _T("源文件")); 
                    strString = OLE2T(bstrHTML); 
                    SysFreeString(bstrHTML); 
                } 
                pHTMLDoc3->Release(); 
            } 
            pHtmlDoc2->Release(); 
            pHtmlDoc2=NULL; 
        }
        return TRUE; 
    }
    C++