### 函数功能

该函数用与指定的文件名匹配的所有文件的名字填充列表框。

### 函数原型

int DlgDirList(HWND hDlg,LPTSTR lpPathSpec,int nlDListBox,int nlDStaticPath,UINT uFileType);

### 参数

hDlg：包含列表框的对话框句柄。
loPathSpec：指向包含路径名或文件名的以NULL结尾的字符串指针。DIgDirList修改此串，该串必须有足够的长度来保存修改的内容。关于此参数的更详尽的信息，请看备注部分。
nlDListBox：定义一个列表框的标示。如果该参数为0，DlgDirList函数认为没有列表框存在，也不试图填充。
nlDStaticPath：定义用于显示当前驱动器和目录的静态控制的标识符。若此参数为0，DlgDirList认为不存在这样的控制。
UFileType：定义将要显示的文件名字的属性。该参数必须是一个或多个如下的值：
DDL_ARCHIyE：包含文档文件。DDL_DIRECTORY：包含于目录。于目录名包含在方括号中。
DDL_DRIVES：包含驱动器。驱动器以［一X」的形式列出，其中X是驱动器符。
DDL_EXCLUSIVE:仅包含指定属性的文件。缺省情况下，可读写的文件将被列出，尽管并未指定DDL_READWRITE值。DDL_HIDDEN：包含隐含文件。
DDL_READONLy：包含只读文件。DDL_READWRITE:包含没有其他附加属性的可读写文件。
DDL_SYSTEM:包含系统文件。DDL_POSTMSGS：传递消息给应用程序的消息队列。缺省情况下，DlgDirList直接发送消息给对话框过程。

### 返回值

若函数调用成功，则返回值不为0。若函数调用失败，则返回值为0。例如，lpPathSpec定义的串不是一个有效路径时，函数将失败。若想获的错误信息，可以调用GetLastError函数。
备注:若对于lpPathSpec参数定义了一个0长度的串，或者仅定义了一个目录名，而没有文件名，则串被转换为‘.’。
lpPathSgec参数有如下形式：[drive：][\u]directory[\idirectory]\u][filename]
在这个例子中，drive是一个驱动器符，directory是一个有效的驱动器名，filename是一个有效的文件名，文件名中必须包含至少一个通配符。
若lpPathSpec包含一个驱动器或目录名，或同时包含两者，则在列表框被填充以前，当前的驱动器和目录将被改变为指定的驱动器和目录。nlDStaticPath参数标识的静态控制也被用新的驱动器或/和目录名来更新。
列表框填充以后，DlgDirList通过移去路径和文件名的驱动器和/或目录部分来更新lpPathSpec参数。
DlgDirList发送LB_RESETCONTENT和LB_DIR消息给列表框。

### 速查

Windows NT: 3.1及以上版本；Windows：95及以上版本；Windows CE：不支持；头文件：winuser.h；库文件：user32.lib；Unicode：在Windows NT上实现为Unicode和ANSI两种版本。