Nazwy plików i katalogów

Informacje w tej sekcji dotyczą zarówno w stylu eksploratora, jak i w oknach dialogowych Otwórz i Zapisz jako w starym stylu.

Przed wywołaniem funkcji GetOpenFileName lub GetSaveFileName , członka lpstrFile struktury OPENFILENAME musi wskazywać do buforu do otrzymywania nazwę pliku. Element nMaxFile musi określić rozmiar, w bajtach (wersja ANSI) lub znaków 16-bitowych (wersja Unicode), buforu lpstrFile.

Jeśli użytkownik określa nazwę pliku i klika przycisk OK , okno dialogowe kopii wybranego dysku, katalogu i pliku do buforu lpstrFile . Funkcja ustawia również członków nFileOffset i nFileExtension do przesunięcia w bajtach (wersja ANSI) lub znaków 16-bitowych (wersja Unicode), od początku buforu do nazwy pliku i rozszerzenie nazwy pliku, odpowiednio.

Aby pobrać tylko nazwę pliku i rozszerzenie, zestawu replik lpstrFileTitle wskaż buforu i ustawić rozmiar, w bajtach (wersja ANSI) lub znaków 16-bitowych (wersja Unicode), członka nMaxFileTitle buforu. Alternatywnie można przekazać buforu lpstrFile w wywołaniu funkcji GetFileTitle Aby uzyskać wyświetlaną nazwę wybranego pliku. Zauważ jednak, że nazwy pliku, która zwraca GetFileTitle zawiera rozszerzenia, tylko wtedy, gdy jest to preferencji użytkownika do wyświetlania nazw plików.

Okno dialogowe używa bieżącego katalogu procesu wywołującego początkowe katalog, z którego wyświetlanie plików i katalogów. Użycie GetCurrentDirectory lub SetCurrentDirectory funkcji lub zmienić bieżący katalog. Aby określić inny katalog początkowy, bez zmiany bieżącego katalogu, należy użyć Państwa lpstrInitialDir do określenia nazwy katalogu. Okno dialogowe automatycznie zmienia bieżący katalog, gdy użytkownik wybierze inny dysk lub katalogu. Aby zapobiec zmienianiu bieżącym katalogiem okno dialogowe, należy ustawić flagę OFN_NOCHANGEDIR. Ta flaga zapobiega użytkownika zmiany katalogów do znalezienia pliku.

Aby określić domyślne rozszerzenie nazwy pliku, należy użyć członka lpstrDefExt . Jeśli użytkownik określa nazwę pliku, który nie ma rozszerzenia, okno dialogowe dodaje rozszerzenie domyślne. Jeśli można określić domyślne rozszerzenie i użytkownik określa nazwę pliku z innym rozszerzeniem, okno dialogowe box setów OFN_EXTENSIONDIFFERENT Flaga.

Aby umożliwić użytkownikowi wybrać więcej niż jeden plik z katalogu, należy ustawić flagę OFN_ALLOWMULTISELECT. Dla zachowania zgodności ze starszymi aplikacjami, domyślny wybór wielu, okno dialogowe używa interfejsu użytkownika w starym stylu. Aby wyświetlić stylu Eksploratora wielu okno dialogowe zaznaczenia, należy również ustawić flagę OFN_EXPLORER.

Jeśli użytkownik zaznaczy więcej niż jeden plik, bufor wskazywanego przez członka lpstrFile zwraca ścieżkę do katalogu bieżącego następują nazwy wybranych plików. Element nFileOffset jest przesunięcie do pierwszego pliku, a element nFileExtension nie jest używany. W poniższej tabeli opisano różnicę między stylu Eksploratora i w starym stylu okien dialogowych w powrocie wielu nazw plików.

Okno dialogowe pole styl Opis
Stylu Eksploratora oknach dialogowych Ciągi katalogu i pliku są wartości NULL, oddzielone znakiem NULL dodatkowych po ostatnim nazwa_pliku. Ten format pozwala okna dialogowe stylu Eksploratora przywrócić długie nazwy plików, które zawierają spacje.
W starym stylu okien dialogowych Ciągi katalogu i pliku są oddzielone spacjami. Dla nazwy plików spacjami funkcja używa krótkich nazw plików.

Można użyć funkcji FindFirstFile funkcji konwersji między długie i krótkie nazwy plików.

Index