Для поиска файлов используется две функции. Первая функция начинает поиск:
HANDLE FindFirstFile ( LPCTSTR lpFileName, // какой файл ищем можно указывать маску *, ? LPWIN32_FIND_DATA lpFindFileData // указатель на структуру с информацией );
В случае ошибке вернет INVALID_HANDLE_VALUE. Для продолжения поиска используется функция:
BOOL FindNextFile ( HANDLE hFindFile, // указатель на поиск LPWIN32_FIND_DATA lpFindFileData // указатель на структуру с информацией );
А теперь пробуем все вместе:
#include "stdafx.h" #include "windows.h" #include "iostream.h" void main() { WIN32_FIND_DATA FindFileData; HANDLE hf; hf=FindFirstFile("c:\\*", &FindFileData); if (hf!=INVALID_HANDLE_VALUE) { do { cout << FindFileData.cFileName << endl; } while (FindNextFile(hf,&FindFileData)!=0); FindClose(hf); } }
И смотрим. Ага, сработало:
Точно так же Вы можете получить список доступных сетевых ресурсов.
hf=FindFirstFile("\\\\Servers\\work\\*", &FindFileData);