Bonjour !
Je suis en train de faire un programme qui doit afficher de manière aléatoire une image contenu dans un sous dossier. Pour cela, je pensais déjà utiliser les fonctions FindFirstFile et FindNextFile pour lister le répertoire, mais c'est là que j'ai un problème.

Voici la routine qui cherche les noms des fichier présents:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if(IsDlgButtonChecked(Hfab, IDC_FDIVERS) == BST_CHECKED)
			{							
				hSearch=FindFirstFile("..\\Fabuleux\\Divers\\*.*", &File);
				if(hSearch !=  INVALID_HANDLE_VALUE)
				{
					re=TRUE;
					i=0;
					do
					{						
						strcpy_s(NOM_FICHIER[i],TAILLE_BUFFER,File.cFileName);
						re = FindNextFile(hSearch, &File);
						i++;
					} while(re);					
					FindClose(hSearch);	
					Objet = rand()%(i-1);
				}
			}
Pour la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
hSearch=FindFirstFile("..\\Fabuleux\\Divers\\*.*", &File);
j'ai utilisé la msdn:
"..\tempdir\tmp.txt" specifies a file named tmp.txt located in a directory named tempdir that is a peer directory to the current directory.
Lorsque j'essaie de faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
MessageBox(Hfab,NOM_FICHIER[0],MB_OK
la messagebox qui s'affiche est vide alors que le sous répertoire Divers contient plusieurs images.

J'ai besoin de récupérer le nom du fichier pour la suite de mon programme (mais j'y reviendrais plus tard, car pour la suite, je sèche sur 1 petit point).

Merci d'avance pour votre aide !