private bool DirectoryContainsItems(FileInfo fileInfo) { string path = fileInfo.FullName.TrimEnd(Path.DirectorySeparatorChar) + Path.DirectorySeparatorChar + "*"; var findData = new Win32.NativeMethods.WIN32_FIND_DATA(); var handle = Win32.NativeMethods.FindFirstFile(path, out findData); if (handle != Win32.NativeMethods.INVALID_HANDLE_VALUE) { try { do { if (findData.cFileName == "." || findData.cFileName == "..") { continue; } if (!_showHidden && (findData.dwFileAttributes & Win32.NativeMethods.FILE_ATTRIBUTE_HIDDEN) != 0) { continue; } if (Mode == FileSystemTreeViewMode.FilesAndDirectories) { return(true); } else if ((findData.dwFileAttributes & Win32.NativeMethods.FILE_ATTRIBUTE_DIRECTORY) != 0) { return(true); } }while (Win32.NativeMethods.FindNextFile(handle, out findData)); } finally { Win32.NativeMethods.FindClose(handle); } } return(false); }
private bool DirectoryContainsItems(FileInfo fileInfo) { string path = fileInfo.FullName.TrimEnd(Path.DirectorySeparatorChar) + Path.DirectorySeparatorChar + "*"; var findData = new Win32.NativeMethods.WIN32_FIND_DATA(); var handle = Win32.NativeMethods.FindFirstFile(path, out findData); if (handle != Win32.NativeMethods.INVALID_HANDLE_VALUE) { try { do { if (findData.cFileName == "." || findData.cFileName == "..") continue; if (!_showHidden && (findData.dwFileAttributes & Win32.NativeMethods.FILE_ATTRIBUTE_HIDDEN) != 0) continue; if (Mode == FileSystemTreeViewMode.FilesAndDirectories) return true; else if ((findData.dwFileAttributes & Win32.NativeMethods.FILE_ATTRIBUTE_DIRECTORY) != 0) return true; } while (Win32.NativeMethods.FindNextFile(handle, out findData)); } finally { Win32.NativeMethods.FindClose(handle); } } return false; }