P
Hallo da bin ich wieder
Hmm leider binc ih immer noch net weiter.Zwar krieg ich keine Fehler mehr,dafür aber bekomm ich keine SubFolder und wenn dann höchstens eine Stufe runter vom Stammverzeichnis(von dieseb Subfolder aber keine Dateien).Leider kann ich den Fehler wirklich net finde.
Wäre für Hilfe echt dankbar.
void CLaufwerkeerfassenDlg::GetFiles(CString Root)
{
CString File,Patt,strRootFilePath,strRootFile;
HANDLE hFile;
WIN32_FIND_DATA FD;
Patt = "*.*";
TCHAR *pRootPatt = new TCHAR[Root.GetLength() + Patt.GetLength() + 1];
CString strRootPatt = Root + Patt;
_tcscpy(pRootPatt,strRootPatt.GetBuffer(strRootPatt.GetLength()));
strRootPatt.ReleaseBuffer();
hFile = FindFirstFile(pRootPatt,&FD);
delete [] pRootPatt;
if (hFile==0) return;
do
{
File = FD.cFileName;
if(FD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY == FILE_ATTRIBUTE_DIRECTORY)
{
if ((File != ".") && (File != ".."))
{
TCHAR *pRootFilePath = new TCHAR[Root.GetLength() + File.GetLength() + 2];
strRootFilePath = Root + File + "\\";
_tcscpy(pRootFilePath,strRootFilePath.GetBuffer(strRootFilePath.GetLength()));
strRootFilePath.ReleaseBuffer();
m_ctlList1.AddString(pRootFilePath);
GetFiles(strRootFilePath);
delete [] pRootFilePath;
}
}
else
{
TCHAR *pRootFile = new TCHAR[Root.GetLength() + File.GetLength() + 1];
strRootFile = Root + File;
_tcscpy(pRootFile,strRootFile.GetBuffer(strRootFile.GetLength()));
strRootFile.ReleaseBuffer();
m_strEdit1 = *pRootFile;
UpdateData(FALSE);
m_ctlList1.AddString(pRootFile);
delete [] pRootFile;
}
}while(FindNextFile(hFile,&FD) == TRUE);
FindClose(hFile);
}