Verzeichnis durchsuchen
-
Servus,
hab mir bereits ein Handle zum Verzeichnis öffnen erstellt und auch ein Handle zum Finden. Nur leider will dieses nicht funktionieren.
CString strFolder = _T(""), buffer; BROWSEINFO brInf; LPITEMIDLIST pidl; TCHAR lpBuffer[MAX_PATH]; brInf.hwndOwner = GetSafeHwnd(); brInf.pidlRoot = NULL; brInf.pszDisplayName = lpBuffer; brInf.lpszTitle = _T("Choose directory"); brInf.ulFlags = BIF_NEWDIALOGSTYLE; brInf.lpfn = NULL; brInf.lParam = 0; brInf.iImage = 0; pidl = SHBrowseForFolder(&brInf); if( pidl ) { SHGetPathFromIDList(pidl, lpBuffer); strFolder = lpBuffer; } MessageBox(strFolder); CFileFind finder; int i = 0; BOOL bResult = finder.FindFile(strFolder); while(bResult) { bResult = finder.FindNextFile(); buffer=finder.GetFileName(); i++; }
Egal welches dir ich anwähle, er geht nur einmal durch die Schleife. Was ist da falsch?
-
Aha, MSDN hat mir mal endlich einen sinnvollen Ratschlag gegeben:
http://msdn.microsoft.com/en-us/library/scx99850(VS.80).aspx
[cpp]if( pidl )
{
SHGetPathFromIDList(pidl, lpBuffer);
strFolder = lpBuffer;
}
MessageBox(strFolder);strFolder += ("\*.*");
CFileFind finder;[/cpp]
Sonst hat er nur das Verzeichnis selbst angeschaut und nicht rein.
Hoffe, dass hilft anderen auch mal