|
Language: VB4/32,VB5,VB6 Expertise: Intermediate
Jul 14, 2001
FolderHasSubfolders - Determine whether a directory has one or more subdirectories
Private Const MAX_PATH = 260
Private Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type
Private Declare Function SHGetFileInfo Lib "Shell32" Alias "SHGetFileInfoA" _
(ByVal pszPath As Any, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, _
ByVal cbFileInfo As Long, ByVal uFlags As Long) As Long
'Returns True if the specified folder has at least one sub-folder
Function FolderHasSubFolders(ByVal sPath As String) As Boolean
Const SFGAO_HASSUBFOLDER = &H80000000
Const SHGFI_ATTRIBUTES = &H800
Dim FInfo As SHFILEINFO
' retrieve the folder's attributes
SHGetFileInfo sPath, 0, FInfo, Len(FInfo), SHGFI_ATTRIBUTES
' check che presence of the HASSUBFOLDER attribute
FolderHasSubFolders = (FInfo.dwAttributes And SFGAO_HASSUBFOLDER)
End Function
Marco Bellinaso
|