PRB: GetOpenFileName() and Spaces in Long Filenames
Article ID: 108233
Article Last Modified on 11/21/2006
APPLIES TO
- Microsoft Win32 Application Programming Interface, when used with:
- Microsoft Windows NT Advanced Server 3.1
This article was previously published under Q108233
SYMPTOMS
GetOpenFileName() is the application programming interface (API) for the
open file common dialog box. This API displays the long filenames (LFNs) on
NTFS and HPFS.
When using the OFN_ALLOWMULTISELECT flag with the GetOpenFileName() API,
the dialog box automatically presents the 8.3 names for all LFNs that
contain embedded spaces.
CAUSE
The original design of GetOpenFileName() uses a filename list that is
space-delimited when the OFN_ALLOWMULTISELECT flag is specified. Thus,
there is no programmatic way to determine which string tokens are complete
filenames or fragments of a complete name with spaces.
STATUS
This behavior is by design.
MORE INFORMATION
Historically, FAT filenames that contained embedded spaces were branded as
"illegal," even though the specifications of the FAT file system do not
impose such a restriction. For example, many of the MS-DOS command-line
utilities do no allow the user to specify filenames with embedded spaces,
because of difficulties that would be introduced in parsing the command
line. Under Windows NT, the command utilities have been enhanced to support
such names if they are in quotation marks.
Additional query words: File Open OFN_ALLOWMULTISELECT long filename lfn
Keywords: kbcmndlg kbcmndlgfileo kbcmndlgsave kbprb KB108233