怎么能不可以呢?给你拷贝一段代码看看,摘自《Visual C++程序模块集锦》
void GetUniqueTempName(CString& strTempName)
{
    //取得临时路径
    TCHAR szTempPath[MAX_PATH];
    DWORD dwResult=:: GetTempPath (MAX_PATH, szTempPath);
    ASSERT (dwResult);    //创建临时文件
    TCHAR szTempFile[MAX_PATH];
    UINT nResult=GetTempFileName (szTempPath, _T ("~ex"),0,szTempFile);
    ASSERT (nResult);
    strTempName=szTempFile;
}void CFindFilesDlg::OnList() 
{
// TODO: Add your control notification handler code here
BeginWaitCursor();
//取得临时文件名
CString strFile;
GetUniqueTempName(strFile);
CStdioFile myFile(strFile,CFile::modeCreate|CFile::modeWrite|CFile::typeText); //打开文件
CFileFind myFinder;
CStringList myList;
CString FileName;
myList.AddTail("C:");
while (!myList.IsEmpty())
{
FileName=myList.GetHead()+_T("\\*.*");
if (myFinder.FindFile(LPCTSTR(FileName)))
{
while (myFinder.FindNextFile())
{
if (myFinder.IsDots()) continue;
myFile.WriteString(LPCTSTR(myFinder.GetFilePath()+_T("\n")));
if (myFinder.IsDirectory()) myList.AddTail(myFinder.GetFilePath());
}
myFile.WriteString(LPCTSTR(myFinder.GetFilePath()+_T("\n")));
}
myList.RemoveHead();
}
myFile.Close();
EndWaitCursor();
}