Пример #1
0
        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);
        }
Пример #2
0
        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;
        }