void BtnOpenSpecifile()
{
SHELLEXECUTEINFO shell = { sizeof(shell) };
shell.fMask = SEE_MASK_FLAG_DDEWAIT;
shell.lpVerb = L"open";
CString helppath,fpath;
fpath.Format(L"%s\\help",lzy_dir);
vector<CString> pdfnames;
if (!PathIsDirectory(fpath))
{
AfxMessageBox(L"没有找到帮助说明,请检查!");
return PRO_TK_E_NOT_FOUND;
}
_Finder(fpath,L"pdf",pdfnames);
if (pdfnames.empty())
{
AfxMessageBox(L"没有找到帮助说明,请检查!");
return PRO_TK_E_NOT_FOUND;
}
helppath.Format(L"%s\\help\\%s",lzy_dir,pdfnames[0]);
shell.lpFile = helppath;
shell.nShow = SW_SHOWNORMAL;
BOOL ret = ShellExecuteEx(&shell);
return PRO_TK_NO_ERROR;
}
int _Finder(LPCTSTR fpath,CString extension,vector<CString> &asmname) //将路径fpath下的后缀为extension的文件名称保存到asmname中
{
CFileFind finder;
CString strWildcard(fpath);
strWildcard += _T("//*.*");
BOOL bWorking = finder.FindFile(strWildcard);
vector<CString> lf_names;
while (bWorking)//遍历文件夹
{
bWorking = finder.FindNextFile();
CString name = finder.GetFileName();
int num1 = 0;
CString extend1,extend2;
num1 = name.Find('.');
extend1 = name.Right(name.GetLength() - num1 - 1);
extend2 = extend1;
int num2 = extend1.Find('.');
if (num2 >0)
{
extend2 = extend1.Left(num2);
}
if(!finder.IsDots()) ///判断是否为.或..
{
if (extend2 == extension)//m_ext_now为你要查找的文件扩展名
{
CString sname;
if (num2 !=-1)
{
sname = name.Left(num1+num2+1);
}
else
sname = name;
asmname.push_back(sname);
}
}
}
sort(asmname.begin(),asmname.end());
asmname.erase( unique(asmname.begin(),asmname.end()), asmname.end() );
return 1;
}