Для поиска файлов используется две функции. Первая функция начинает поиск:
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);