GetOpenFileNameA-Funktion (commdlg.h)
[Ab Windows Vista wurden die Öffnen und Allgemeinen Dialogfelder "Speichern unter" durch das Dialogfeld "Allgemeines Element"ersetzt. Es wird empfohlen, anstelle dieser Dialogfelder aus der Allgemeinen Dialogfeldbibliothek die Api für das allgemeine Elementdialogfeld zu verwenden.]
Erstellt ein Dialogfeld " öffnen", in dem der Benutzer das Laufwerk, das Verzeichnis und den Namen einer Datei oder eines Zu öffnenden Dateisatzes angeben kann.
Syntax
BOOL GetOpenFileNameA(
[in, out] LPOPENFILENAMEA unnamedParam1
);
Parameter
[in, out] unnamedParam1
Typ: LPOPENFILENAME
Ein Zeiger auf eine OPENFILENAME- Struktur, die Informationen enthält, die zum Initialisieren des Dialogfelds verwendet werden. Wenn GetOpenFileName- zurückgegeben wird, enthält diese Struktur Informationen zur Dateiauswahl des Benutzers.
Rückgabewert
Typ: BOOL-
Wenn der Benutzer einen Dateinamen angibt und auf die Schaltfläche OK klickt, ist der Rückgabewert ungleich Null. Der Puffer, der vom lpstrFile Member der OPENFILENAME Struktur verweist, enthält den vollständigen Pfad und Dateinamen, der vom Benutzer angegeben wird.
Wenn der Benutzer das Dialogfeld Öffnen oder einen Fehler abbricht oder schließt, ist der Rückgabewert null. Rufen Sie zum Abrufen erweiterter Fehlerinformationen die CommDlgExtendedError-Funktion auf, die einen der folgenden Werte zurückgeben kann.
Bemerkungen
Das Dialogfeld "Explorer" Dialogfeld "Öffnen" bietet Benutzeroberflächenfeatures, die dem Windows-Explorer ähneln. Sie können eine OFNHookProc- Hookprozedur für ein Explorer-Format Dialogfeld "Öffnen" bereitstellen. Um die Hook-Prozedur zu aktivieren, legen Sie die OFN_EXPLORER- und OFN_ENABLEHOOK Flags im Flags Mitglied der OPENFILENAME Struktur fest und geben Sie die Adresse der Hook-Prozedur im lpfnHook Member an.
Windows unterstützt weiterhin das Dialogfeld "Altes Format" Dialogfeld " öffnen" für Anwendungen, die eine Benutzeroberfläche beibehalten möchten, die mit der Benutzeroberfläche des alten Stils konsistent ist. Um das Dialogfeld Öffnen anzuzeigen, aktivieren Sie eine OFNHookProcOldStyle- Hook-Prozedur, und stellen Sie sicher, dass das OFN_EXPLORER Flag nicht festgelegt ist.
Wenn Sie ein Dialogfeld anzeigen möchten, in dem der Benutzer ein Verzeichnis anstelle einer Datei auswählen kann, rufen Sie die SHBrowseForFolder--Funktion auf.
Beachten Sie, dass beim Auswählen mehrerer Dateien das Gesamtzeichenlimit für die Dateinamen von der Version der Funktion abhängt.
- ANSI: 32k Limit
- Unicode: keine Einschränkung
Beispiele
Ein Beispiel finden Sie unter Öffnen einer Datei.
Anmerkung
Der commdlg.h-Header definiert GetOpenFileName als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | commdlg.h (enthalten Windows.h) |
Library | Comdlg32.lib |
DLL- | Comdlg32.dll |
API-Satz | ext-ms-win-shell-comdlg32-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393) |
Siehe auch
allgemeine Dialogfeldbibliothek
Konzeptionelle
andere Ressourcen
Referenz-