本文整理汇总了C++中CHttpDownloadDlg类的典型用法代码示例。如果您正苦于以下问题:C++ CHttpDownloadDlg类的具体用法?C++ CHttpDownloadDlg怎么用?C++ CHttpDownloadDlg使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CHttpDownloadDlg类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LogError
bool CServerWnd::UpdateServerMetFromURL(CString strURL)
{
if (strURL.IsEmpty() || (strURL.Find(_T("://")) == -1)) {
// not a valid URL
LogError(LOG_STATUSBAR, GetResString(IDS_INVALIDURL) );
return false;
}
// add entered URL to LRU list even if it's not yet known whether we can download from this URL (it's just more convenient this way)
if (m_pacServerMetURL && m_pacServerMetURL->IsBound())
m_pacServerMetURL->AddItem(strURL, 0);
CString strTempFilename;
strTempFilename.Format(_T("%stemp-%d-server.met"), thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), ::GetTickCount());
// try to download server.met
Log(GetResString(IDS_DOWNLOADING_SERVERMET_FROM), strURL);
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = GetResString(IDS_DOWNLOADING_SERVERMET);
dlgDownload.m_sURLToDownload = strURL;
dlgDownload.m_sFileToDownloadInto = strTempFilename;
if (dlgDownload.DoModal() != IDOK) {
LogError(LOG_STATUSBAR, GetResString(IDS_ERR_FAILEDDOWNLOADMET), strURL);
return false;
}
// add content of server.met to serverlist
serverlistctrl.Hide();
serverlistctrl.AddServerMetToList(strTempFilename);
serverlistctrl.Visable();
(void)_tremove(strTempFilename);
return true;
}
示例2: ASSERT
void CALLBACK CHttpDownloadDlg::_OnStatusCallBack(HINTERNET hInternet, DWORD dwContext, DWORD dwInternetStatus,
LPVOID lpvStatusInformation, DWORD dwStatusInformationLength)
{
CHttpDownloadDlg* pDlg = (CHttpDownloadDlg*) dwContext;
ASSERT(pDlg);
ASSERT(pDlg->IsKindOf(RUNTIME_CLASS(CHttpDownloadDlg)));
pDlg->OnStatusCallBack(hInternet, dwInternetStatus, lpvStatusInformation, dwStatusInformationLength);
}
示例3: ASSERT
UINT CHttpDownloadDlg::_DownloadThread(LPVOID pParam)
{
//Convert from the SDK world to the C++ world
CHttpDownloadDlg* pDlg = (CHttpDownloadDlg*) pParam;
ASSERT(pDlg);
ASSERT(pDlg->IsKindOf(RUNTIME_CLASS(CHttpDownloadDlg)));
pDlg->DownloadThread();
return 0;
}
示例4: DbgSetThreadName
UINT AFX_CDECL CHttpDownloadDlg::_DownloadThread(LPVOID pParam)
{
DbgSetThreadName("HttpDownload");
InitThreadLocale();
//Convert from the SDK world to the C++ world
CHttpDownloadDlg* pDlg = (CHttpDownloadDlg*) pParam;
ASSERT(pDlg);
ASSERT(pDlg->IsKindOf(RUNTIME_CLASS(CHttpDownloadDlg)));
pDlg->DownloadThread();
return 0;
}
示例5: _T
void CPPgGeneral::OnLangChange()
{
//MODIFIED by VC-fengwen on 2007/10/29 <begin> : 到verycd下语言包
//#define MIRRORS_URL _T("http://langmirror%i.emule-project.org/lang/%i%i%i%i/")
#define MIRRORS_URL _T("http://www.emule.org.cn/language/%06d/%s")
//MODIFIED by VC-fengwen on 2007/10/29 <end> : 到verycd下语言包
WORD byNewLang = (WORD)m_language.GetItemData(m_language.GetCurSel());
if (thePrefs.GetLanguageID() != byNewLang){
if (!thePrefs.IsLanguageSupported(byNewLang, false)){
if (AfxMessageBox(GetResString(IDS_ASKDOWNLOADLANGCAP) + _T("\r\n\r\n") + GetResString(IDS_ASKDOWNLOADLANG), MB_ICONQUESTION | MB_YESNO) == IDYES){
// download file
// create url, use random mirror for load balancing
//MODIFIED by VC-fengwen on 2007/10/29 <begin> : 到verycd下语言包
//UINT nRand = (rand()/(RAND_MAX/3))+1;
//CString strUrl;
//strUrl.Format(MIRRORS_URL, nRand, CGlobalVariable::m_nVersionMjr, CGlobalVariable::m_nVersionMin, CGlobalVariable::m_nVersionUpd, CGlobalVariable::m_nVersionBld);
//strUrl += thePrefs.GetLangDLLNameByID(byNewLang);
CString strUrl;
strUrl.Format(MIRRORS_URL, CGlobalVariable::m_nVCVersionBld, thePrefs.GetLangDLLNameByID(byNewLang));
//MODIFIED by VC-fengwen on 2007/10/29 <end> : 到verycd下语言包
// safeto
CString strFilename = thePrefs.GetMuleDirectory(EMULE_ADDLANGDIR, true);
strFilename.Append(thePrefs.GetLangDLLNameByID(byNewLang));
// start
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = GetResString(IDS_DOWNLOAD_LANGFILE);
dlgDownload.m_sURLToDownload = strUrl;
dlgDownload.m_sFileToDownloadInto = strFilename;
if (dlgDownload.DoModal() == IDOK && thePrefs.IsLanguageSupported(byNewLang, true))
{
// everything ok, new language downloaded and working
OnSettingsChange();
return;
}
CString strErr;
strErr.Format(GetResString(IDS_ERR_FAILEDDOWNLOADLANG), strUrl);
LogError(LOG_STATUSBAR, _T("%s"), strErr);
AfxMessageBox(strErr, MB_ICONERROR | MB_OK);
}
// undo change selection
for(int i = 0; i < m_language.GetCount(); i++)
if(m_language.GetItemData(i) == thePrefs.GetLanguageID())
m_language.SetCurSel(i);
}
else
OnSettingsChange();
}
}
示例6: while
void CServerList::AutoUpdate()
{
if (thePrefs.addresses_list.IsEmpty()){
// Comment UI
//AfxMessageBox(GetResString(IDS_ERR_EMPTYADRESSESDAT), MB_ICONASTERISK);
return;
}
bool bDownloaded = false;
CString servermetdownload;
CString servermetbackup;
CString servermet;
CString strURLToDownload;
servermetdownload.Format(_T("%sserver_met.download"), thePrefs.GetMuleDirectory(EMULE_CONFIGDIR));
servermetbackup.Format(_T("%sserver_met.old"), thePrefs.GetMuleDirectory(EMULE_CONFIGDIR));
servermet.Format(_T("%s") SERVER_MET_FILENAME, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR));
(void)_tremove(servermetbackup);
(void)_tremove(servermetdownload);
(void)_trename(servermet, servermetbackup);
POSITION Pos = thePrefs.addresses_list.GetHeadPosition();
while (!bDownloaded && Pos != NULL)
{
// TODO: Comment UI, 移动到emuledlg中去做..
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = GetResString(IDS_HTTP_CAPTION);
strURLToDownload = thePrefs.addresses_list.GetNext(Pos);
dlgDownload.m_sURLToDownload = strURLToDownload;
dlgDownload.m_sFileToDownloadInto = servermetdownload;
if (dlgDownload.DoModal() == IDOK)
bDownloaded = true;
else
LogError(LOG_STATUSBAR, GetResString(IDS_ERR_FAILEDDOWNLOADMET), strURLToDownload);
}
if (bDownloaded) {
(void)_trename(servermet, servermetdownload);
(void)_trename(servermetbackup, servermet);
}
else {
(void)_tremove(servermet);
(void)_trename(servermetbackup, servermet);
}
}
示例7: _T
void CPPgGeneral::OnLangChange()
{
#define MIRRORS_URL _T("http://langmirror%i.emule-project.org/lang/%i%i%i%i/")
WORD byNewLang = (WORD)m_language.GetItemData(m_language.GetCurSel());
if (thePrefs.GetLanguageID() != byNewLang){
if (!thePrefs.IsLanguageSupported(byNewLang, false)){
if (AfxMessageBox(GetResString(IDS_ASKDOWNLOADLANGCAP) + _T("\r\n\r\n") + GetResString(IDS_ASKDOWNLOADLANG), MB_ICONQUESTION | MB_YESNO) == IDYES){
// download file
// create url, use random mirror for load balancing
uint16 nRand = (rand()/(RAND_MAX/3))+1;
CString strUrl;
strUrl.Format(MIRRORS_URL,nRand, VERSION_MJR, VERSION_MIN, VERSION_UPDATE, VERSION_BUILD);//[lama] ModVersion
strUrl += thePrefs.GetLangDLLNameByID(byNewLang);
// safeto
CString strFilename = thePrefs.GetLangDir();
if (!PathFileExists(strFilename))
CreateDirectory(strFilename,0);
strFilename.Append(thePrefs.GetLangDLLNameByID(byNewLang));
// start
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = _T("Downloading language file");
dlgDownload.m_sURLToDownload = strUrl;
dlgDownload.m_sFileToDownloadInto = strFilename;
if (dlgDownload.DoModal() == IDOK && thePrefs.IsLanguageSupported(byNewLang, true))
{
// everything ok, new language downloaded and working
OnSettingsChange();
return;
}
CString strErr;
strErr.Format(GetResString(IDS_ERR_FAILEDDOWNLOADLANG), strUrl);
LogError(LOG_STATUSBAR, _T("%s"), strErr);
AfxMessageBox(strErr, MB_ICONERROR | MB_OK);
}
// undo change selection
for(int i = 0; i < m_language.GetCount(); i++)
if(m_language.GetItemData(i) == thePrefs.GetLanguageID())
m_language.SetCurSel(i);
}
else
OnSettingsChange();
}
}
示例8: DbgSetThreadName
UINT AFX_CDECL CHttpDownloadDlg::_DownloadThread(LPVOID pParam)
{
DbgSetThreadName("HttpDownload");
InitThreadLocale();
//Convert from the SDK world to the C++ world
CHttpDownloadDlg* pDlg = (CHttpDownloadDlg*) pParam;
ASSERT(pDlg);
ASSERT(pDlg->IsKindOf(RUNTIME_CLASS(CHttpDownloadDlg)));
// BEGIN SLUGFILLER: SafeHash
CReadWriteLock lock(&theApp.m_threadlock);
if (!lock.ReadLock(1000))
{
// netfinity: Make sure we doesn't get stuck
pDlg->HandleThreadError(GetResString(IDS_HTTPDOWNLOAD_GENERIC_ERROR));
return 0;
}
// END SLUGFILLER: SafeHash
pDlg->DownloadThread();
return 0;
}
示例9: Log
void CKademliaWnd::UpdateNodesDatFromURL(CString strURL){
CString strTempFilename;
strTempFilename.Format(_T("%stemp-%d-nodes.dat"), thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), ::GetTickCount());
// try to download nodes.dat
Log(GetResString(IDS_DOWNLOADING_NODESDAT_FROM), strURL);
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = GetResString(IDS_DOWNLOADING_NODESDAT);
dlgDownload.m_sURLToDownload = strURL;
dlgDownload.m_sFileToDownloadInto = strTempFilename;
if (dlgDownload.DoModal() != IDOK) {
LogError(LOG_STATUSBAR, GetResString(IDS_ERR_FAILEDDOWNLOADNODES), strURL);
return;
}
if (!Kademlia::CKademlia::IsRunning()){
Kademlia::CKademlia::Start();
theApp.emuledlg->ShowConnectionState();
}
Kademlia::CKademlia::GetRoutingZone()->ReadFile(strTempFilename);
(void)_tremove(strTempFilename);
}
示例10: GetDlgItemText
void CPPgSecurity::OnLoadIPFFromURL() {
CString url;
GetDlgItemText(IDC_UPDATEURL,url);
if (!url.IsEmpty())
{
// add entered URL to LRU list even if it's not yet known whether we can download from this URL (it's just more convenient this way)
if (m_pacIPFilterURL && m_pacIPFilterURL->IsBound())
m_pacIPFilterURL->AddItem(url, 0);
TCHAR szTempFilePath[MAX_PATH];
_tmakepath(szTempFilePath, NULL, thePrefs.GetConfigDir(), DFLT_IPFILTER_FILENAME, _T("tmp"));
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = _T("Downloading IP filter file");
dlgDownload.m_sURLToDownload = url;
dlgDownload.m_sFileToDownloadInto = szTempFilePath;
if (dlgDownload.DoModal() != IDOK)
{
_tremove(szTempFilePath);
LogWarning(LOG_STATUSBAR, _T("IP Filter download failed"));
return;
}
bool bIsZipFile = false;
bool bUnzipped = false;
CZIPFile zip;
if (zip.Open(szTempFilePath))
{
bIsZipFile = true;
CZIPFile::File* zfile = zip.GetFile(_T("guarding.p2p"));
if (zfile)
{
TCHAR szTempUnzipFilePath[MAX_PATH];
_tmakepath(szTempUnzipFilePath, NULL, thePrefs.GetConfigDir(), DFLT_IPFILTER_FILENAME, _T(".unzip.tmp"));
if (zfile->Extract(szTempUnzipFilePath))
{
zip.Close();
zfile = NULL;
if (_tremove(theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE("*** Error: Failed to remove default IP filter file \"%s\" - %s\n", theApp.ipfilter->GetDefaultFilePath(), strerror(errno));
if (_trename(szTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE("*** Error: Failed to rename uncompressed IP filter file \"%s\" to default IP filter file \"%s\" - %s\n", szTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath(), strerror(errno));
if (_tremove(szTempFilePath) != 0)
TRACE("*** Error: Failed to remove temporary IP filter file \"%s\" - %s\n", szTempFilePath, strerror(errno));
bUnzipped = true;
}
else
LogError(LOG_STATUSBAR, _T("Failed to extract IP filter file from downloaded IP filter ZIP file \"%s\"."), szTempFilePath);
}
else
LogError(LOG_STATUSBAR, _T("Downloaded IP filter file \"%s\" is a ZIP file with unexpected content."), szTempFilePath);
zip.Close();
}
if (!bIsZipFile && !bUnzipped)
{
_tremove(theApp.ipfilter->GetDefaultFilePath());
_trename(szTempFilePath, theApp.ipfilter->GetDefaultFilePath());
}
}
OnReloadIPFilter();
}
示例11: GetDlgItemText
void CPPgSecurity::OnLoadIPFFromURL()
{
bool bHaveNewFilterFile = false;
CString url;
GetDlgItemText(IDC_UPDATEURL,url);
if (!url.IsEmpty())
{
// add entered URL to LRU list even if it's not yet known whether we can download from this URL (it's just more convenient this way)
if (m_pacIPFilterURL && m_pacIPFilterURL->IsBound())
m_pacIPFilterURL->AddItem(url, 0);
CString strTempFilePath;
_tmakepathlimit(strTempFilePath.GetBuffer(MAX_PATH), NULL, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), DFLT_IPFILTER_FILENAME, _T("tmp"));
strTempFilePath.ReleaseBuffer();
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = GetResString(IDS_DWL_IPFILTERFILE);
dlgDownload.m_sURLToDownload = url;
dlgDownload.m_sFileToDownloadInto = strTempFilePath;
if (dlgDownload.DoModal() != IDOK)
{
(void)_tremove(strTempFilePath);
CString strError = GetResString(IDS_DWLIPFILTERFAILED);
if (!dlgDownload.GetError().IsEmpty())
strError += _T("\r\n\r\n") + dlgDownload.GetError();
AfxMessageBox(strError, MB_ICONERROR);
return;
}
CString strMimeType;
GetMimeType(strTempFilePath, strMimeType);
bool bIsArchiveFile = false;
bool bUncompressed = false;
CZIPFile zip;
if (zip.Open(strTempFilePath))
{
bIsArchiveFile = true;
CZIPFile::File* zfile = zip.GetFile(_T("guarding.p2p"));
if (zfile == NULL)
zfile = zip.GetFile(_T("ipfilter.dat"));
if (zfile)
{
CString strTempUnzipFilePath;
_tmakepathlimit(strTempUnzipFilePath.GetBuffer(_MAX_PATH), NULL, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), DFLT_IPFILTER_FILENAME, _T(".unzip.tmp"));
strTempUnzipFilePath.ReleaseBuffer();
if (zfile->Extract(strTempUnzipFilePath))
{
zip.Close();
zfile = NULL;
if (_tremove(theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE(_T("*** Error: Failed to remove default IP filter file \"%s\" - %s\n"), theApp.ipfilter->GetDefaultFilePath(), _tcserror(errno));
if (_trename(strTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE(_T("*** Error: Failed to rename uncompressed IP filter file \"%s\" to default IP filter file \"%s\" - %s\n"), strTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath(), _tcserror(errno));
if (_tremove(strTempFilePath) != 0)
TRACE(_T("*** Error: Failed to remove temporary IP filter file \"%s\" - %s\n"), strTempFilePath, _tcserror(errno));
bUncompressed = true;
bHaveNewFilterFile = true;
}
else {
CString strError;
strError.Format(GetResString(IDS_ERR_IPFILTERZIPEXTR), strTempFilePath);
AfxMessageBox(strError, MB_ICONERROR);
}
}
else {
CString strError;
strError.Format(GetResString(IDS_ERR_IPFILTERCONTENTERR), strTempFilePath);
AfxMessageBox(strError, MB_ICONERROR);
}
zip.Close();
}
else if (strMimeType.CompareNoCase(_T("application/x-rar-compressed")) == 0)
{
bIsArchiveFile = true;
CRARFile rar;
if (rar.Open(strTempFilePath))
{
CString strFile;
if (rar.GetNextFile(strFile)
&& (strFile.CompareNoCase(_T("ipfilter.dat")) == 0 || strFile.CompareNoCase(_T("guarding.p2p")) == 0))
{
CString strTempUnzipFilePath;
_tmakepathlimit(strTempUnzipFilePath.GetBuffer(MAX_PATH), NULL, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), DFLT_IPFILTER_FILENAME, _T(".unzip.tmp"));
strTempUnzipFilePath.ReleaseBuffer();
if (rar.Extract(strTempUnzipFilePath))
{
rar.Close();
if (_tremove(theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE(_T("*** Error: Failed to remove default IP filter file \"%s\" - %s\n"), theApp.ipfilter->GetDefaultFilePath(), _tcserror(errno));
if (_trename(strTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE(_T("*** Error: Failed to rename uncompressed IP filter file \"%s\" to default IP filter file \"%s\" - %s\n"), strTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath(), _tcserror(errno));
if (_tremove(strTempFilePath) != 0)
TRACE(_T("*** Error: Failed to remove temporary IP filter file \"%s\" - %s\n"), strTempFilePath, _tcserror(errno));
//.........这里部分代码省略.........
示例12: _tmakepathlimit
/*
void CIPFilter::UpdateIPFilterURL()
*/
void CIPFilter::UpdateIPFilterURL(uint32 uNewVersion)
// <== Advanced Updates [MorphXT/Stulle] - Stulle
{
bool bHaveNewFilterFile = false;
CString url = thePrefs.GetAutoUpdateIPFilter_URL();
SYSTEMTIME SysTime;
if (!url.IsEmpty())
{
CString strTempFilePath;
_tmakepathlimit(strTempFilePath.GetBuffer(MAX_PATH), NULL, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), DFLT_IPFILTER_FILENAME, _T("tmp"));
strTempFilePath.ReleaseBuffer();
CHttpDownloadDlg dlgDownload;
dlgDownload.m_strTitle = GetResString(IDS_DWL_IPFILTERFILE);
dlgDownload.m_sURLToDownload = url;
dlgDownload.m_sFileToDownloadInto = strTempFilePath;
if (PathFileExists(GetDefaultFilePath()))
memcpy(&SysTime, &thePrefs.m_IPfilterVersion, sizeof(SYSTEMTIME));
else
memset(&SysTime, 0, sizeof(SYSTEMTIME));
// ==> Advanced Updates [MorphXT/Stulle] - Stulle
if(thePrefs.IsIPFilterViaDynDNS())
dlgDownload.m_pLastModifiedTime = NULL;
else
// <== Advanced Updates [MorphXT/Stulle] - Stulle
dlgDownload.m_pLastModifiedTime = &SysTime; //Xman remark: m_pLastModifiedTime is a pointer which points to the SysTime-struct
if (dlgDownload.DoModal() != IDOK)
{
(void)_tremove(strTempFilePath);
CString strError = GetResString(IDS_DWLIPFILTERFAILED);
if (!dlgDownload.GetError().IsEmpty())
strError += _T("\r\n\r\n") + dlgDownload.GetError();
AfxMessageBox(strError, MB_ICONERROR);
return;
}
// ==> Advanced Updates [MorphXT/Stulle] - Stulle
/*
if (dlgDownload.m_pLastModifiedTime == NULL)
*/
if (thePrefs.IsIPFilterViaDynDNS() == false && dlgDownload.m_pLastModifiedTime == NULL)
// <== Advanced Updates [MorphXT/Stulle] - Stulle
return;
CString strMimeType;
GetMimeType(strTempFilePath, strMimeType);
bool bIsArchiveFile = false;
bool bUncompressed = false;
CZIPFile zip;
if (zip.Open(strTempFilePath))
{
bIsArchiveFile = true;
CZIPFile::File* zfile = zip.GetFile(_T("guarding.p2p"));
if (zfile == NULL)
zfile = zip.GetFile(_T("ipfilter.dat"));
if (zfile)
{
CString strTempUnzipFilePath;
_tmakepathlimit(strTempUnzipFilePath.GetBuffer(_MAX_PATH), NULL, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR), DFLT_IPFILTER_FILENAME, _T(".unzip.tmp"));
strTempUnzipFilePath.ReleaseBuffer();
if (zfile->Extract(strTempUnzipFilePath))
{
zip.Close();
zfile = NULL;
if (_tremove(theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE(_T("*** Error: Failed to remove default IP filter file \"%s\" - %hs\n"), theApp.ipfilter->GetDefaultFilePath(), strerror(errno));
if (_trename(strTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath()) != 0)
TRACE(_T("*** Error: Failed to rename uncompressed IP filter file \"%s\" to default IP filter file \"%s\" - %hs\n"), strTempUnzipFilePath, theApp.ipfilter->GetDefaultFilePath(), strerror(errno));
if (_tremove(strTempFilePath) != 0)
TRACE(_T("*** Error: Failed to remove temporary IP filter file \"%s\" - %hs\n"), strTempFilePath, strerror(errno));
bUncompressed = true;
bHaveNewFilterFile = true;
}
else {
CString strError;
strError.Format(GetResString(IDS_ERR_IPFILTERZIPEXTR), strTempFilePath);
AfxMessageBox(strError, MB_ICONERROR);
}
}
else {
CString strError;
strError.Format(GetResString(IDS_ERR_IPFILTERCONTENTERR), strTempFilePath);
AfxMessageBox(strError, MB_ICONERROR);
}
zip.Close();
}
else if (strMimeType.CompareNoCase(_T("application/x-rar-compressed")) == 0)
{
bIsArchiveFile = true;
CRARFile rar;
//.........这里部分代码省略.........