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

CommDlgExtendedError

Allgemeine Dialogfeldbibliothek

Konzept

GetSaveFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

Andere Ressourcen

Referenz

SHBrowseForFolder