GetOpenFileNameA, fonction (commdlg.h)

[À compter de Windows Vista, les boîtes de dialogue Ouvrir et Enregistrer en tant que communes ont été remplacées par la boîte de dialogue Élément commun. Nous vous recommandons d’utiliser l’API Common Item Dialog au lieu de ces boîtes de dialogue à partir de la bibliothèque de boîtes de dialogue commune.]

Crée une boîte de dialogue Ouvrir qui permet à l’utilisateur de spécifier le lecteur, le répertoire et le nom d’un fichier ou d’un ensemble de fichiers à ouvrir.

Syntaxe

BOOL GetOpenFileNameA(
  [in, out] LPOPENFILENAMEA unnamedParam1
);

Paramètres

[in, out] unnamedParam1

Type : LPOPENFILENAME

Pointeur vers une structure OPENFILENAME qui contient les informations utilisées pour initialiser la boîte de dialogue. Lorsque GetOpenFileName retourne, cette structure contient des informations sur la sélection de fichiers de l’utilisateur.

Valeur retournée

Type : BOOL

Si l’utilisateur spécifie un nom de fichier et clique sur le bouton OK , la valeur de retour est différente de zéro. La mémoire tampon pointée vers le membre lpstrFile de la structure OPENFILENAME contient le chemin d’accès complet et le nom de fichier spécifiés par l’utilisateur.

Si l’utilisateur annule ou ferme la boîte de dialogue Ouvrir ou si une erreur se produit, la valeur de retour est zéro. Pour obtenir des informations d’erreur étendues, appelez la fonction CommDlgExtendedError , qui peut retourner l’une des valeurs suivantes.

Remarques

La boîte de dialogue Ouvrir de style Explorer fournit des fonctionnalités d’interface utilisateur similaires à celles du Explorer Windows. Vous pouvez fournir une procédure de crochet OFNHookProc pour une boîte de dialogue Ouvrir de style Explorer. Pour activer la procédure de crochet, définissez les indicateurs OFN_EXPLORER et OFN_ENABLEHOOK dans le membre Flags de la structure OPENFILENAME et spécifiez l’adresse de la procédure de crochet dans le membre lpfnHook .

Windows continue de prendre en charge l’ancienne boîte de dialogue Ouvrir pour les applications qui souhaitent maintenir une interface utilisateur cohérente avec l’ancienne interface utilisateur. Pour afficher l’ancienne boîte de dialogue Ouvrir , activez une procédure de crochet OFNHookProcOldStyle et vérifiez que l’indicateur OFN_EXPLORER n’est pas défini.

Pour afficher une boîte de dialogue qui permet à l’utilisateur de sélectionner un répertoire au lieu d’un fichier, appelez la fonction SHBrowseForFolder .

Notez que lors de la sélection de plusieurs fichiers, la limite de caractères totale pour les noms de fichiers dépend de la version de la fonction.

  • ANSI : limite de 32 000
  • Unicode : aucune restriction

Exemples

Pour obtenir un exemple, consultez Ouverture d’un fichier.

Notes

L’en-tête commdlg.h définit GetOpenFileName comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête commdlg.h (inclure Windows.h)
Bibliothèque Comdlg32.lib
DLL Comdlg32.dll
Ensemble d’API ext-ms-win-shell-comdlg32-l1-1-1 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

CommDlgExtendedError

Bibliothèque de boîtes de dialogue commune

Conceptuel

GetSaveFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

Autres ressources

Référence

SHBrowseForFolder