// TODO: Add your control notification handler code here
if (m_listBox.GetCount() == 0)
{
MessageBox("请先生成列表!");
return;
}
char szFilter[] = "Down List Files (*.lst)|*.lst|All Files (*.*)|*.*||";
CFileDialog fdlg(false, "BMP", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter);
if(fdlg.DoModal() != IDOK)//弹出另存为文件对话框
return;
CString strFilePath = fdlg.GetPathName();
CStdioFile file;
if(!file.Open(strFilePath,CFile::modeCreate|CFile::modeWrite))
{
AfxMessageBox("保存失败!");
return;
}
CString str;
file.SeekToBegin();//将文件定位到文件开头
for (int i=0; i<m_listBox.GetCount(); i++)
{
m_listBox.GetText(i,str);//从ListBox中获取字符串
file.WriteString(str + "\n");//将字符串写入文件中
}
file.Close();
MessageBox("导出成功!");
}
四、运行效果
本文测试过程中,使用初始路径为:http://pic.edushi.com//xian//mappic/png1/* ,*.png?t=3,其中有两个通配符,利用本文开发的迅雷批量下载列表生成器生成批量下载列表,如图4所示。然后导出列表文件test.lst,最后运行迅雷,选择菜单文件→导入下载列表..,将test.lst导入迅雷即可下载,导入后效果如图5所示。
图4 软件运行效果
图5 列表文件导入迅雷后下载效果
五、结语
本文开发的迅雷批量下载列表生成器是基于VC++6.0的MFC开发的,应用了字符串和文件相关处理函数。使用该软件用户可以方便地生成多个通配符的批量下载列表,配合迅雷下载软件可以起到事半功倍的效果。
|