GetOpenFileNameA-Funktion (commdlg.h)
[Ab Windows Vista wurden die allgemeinen Dialogfelder Öffnen und Speichern unter durch das Dialogfeld "Gemeinsame Elemente" ersetzt. Es wird empfohlen, anstelle dieser Dialogfelder aus der Common Dialog Box Library die API für allgemeine Elemente zu verwenden.]
Erstellt ein Dialogfeld Öffnen , in dem der Benutzer das Laufwerk, das Verzeichnis und den Namen einer datei oder einer Gruppe von Dateien angeben kann, die geöffnet werden sollen.
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, auf den der 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 abbricht oder schließt oder ein Fehler auftritt, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie die CommDlgExtendedError-Funktion auf, die einen der folgenden Werte zurückgeben kann.
Hinweise
Das Dialogfeld Öffnen im Explorer-Format bietet Benutzeroberflächenfeatures, die dem Windows-Explorer ähneln. Sie können eine OFNHookProc-Hookprozedur für ein Explorer Dialogfeld "Öffnen" bereitstellen. Um die Hookprozedur zu aktivieren, legen Sie die OFN_EXPLORER - und OFN_ENABLEHOOK-Flags im Flags-Member der OPENFILENAME-Struktur fest, und geben Sie die Adresse der Hookprozedur im lpfnHook-Member an.
Windows unterstützt weiterhin das Dialogfeld Öffnen im alten Stil für Anwendungen, die eine Benutzeroberfläche beibehalten möchten, die mit der alten Benutzeroberfläche konsistent ist. Um das Dialogfeld Öffnen im alten Stil anzuzeigen, aktivieren Sie eine OFNHookProcOldStyle-Hookprozedur , und stellen Sie sicher, dass das flag OFN_EXPLORER nicht festgelegt ist.
Rufen Sie die ShBrowseForFolder-Funktion auf, um ein Dialogfeld anzuzeigen, in dem der Benutzer ein Verzeichnis anstelle einer Datei auswählen kann.
Beachten Sie, dass beim Auswählen mehrerer Dateien das Gesamtzeichenlimit für die Dateinamen von der Version der Funktion abhängt.
- ANSI: Grenzwert von 32.000
- Unicode: keine Einschränkung
Beispiele
Ein Beispiel finden Sie unter Öffnen einer Datei.
Hinweis
Der commdlg.h-Header definiert GetOpenFileName als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | commdlg.h (windows.h einschließen) |
Bibliothek | Comdlg32.lib |
DLL | Comdlg32.dll |
APIs | ext-ms-win-shell-comdlg32-l1-1-1 (eingeführt in Windows 10, Version 10.0.14393) |
Weitere Informationen
Allgemeine Dialogfeldbibliothek
Konzept
Andere Ressourcen
Referenz