2009-03-13 6 views

Répondre

0

L'exemple de code sur la page que vous avez lié à utilise ceci:

DWORD MAXFILE = 2562; 
dlg.m_ofn.nMaxFile = MAXFILE; 
char* pc = new char[MAXFILE]; 

Le tampon pc est 2562 caractères, le nombre de fichiers qui peut être ouvert est limité par cela. Tant que la longueur totale de tous les noms de fichiers sélectionnés ensemble (y compris le chemin) correspond à ces 2562 octets, elle réussit, sinon elle échoue. Ainsi, le nombre réel de fichiers dépend de la longueur des noms de fichiers que vous voulez ouvrir.

Vous pouvez savoir si le tampon était petit en vérifiant FNERR_BUFFERTOOSMALL:

if(CommDlgExtendedError() == FNERR_BUFFERTOOSMALL) { 
    // the buffer was to small, not all file names did fit into it 
}