Страница 1 из 1

Определение наличия файлов/каталогов в файловой панели

Добавлено: Пн апр 20, 2015 23:15
LonerD
Как определить - есть ли в панели файлы/каталоги или же панель пустая, не прибегая к манипуляциям с передвижением курсора?

Копировать в буфер путь панели и определять наличие файлов в этой панели - не вариант, ибо могут быть скрытые файлы (которые не видны), или может быть открыт просмотр файлов без каталогов (родительский каталог может содержать подкаталоги).

В мысли приходит такой алгоритм:
1) Определяем наличие файла/каталога под курсором, если он есть, то вывод очевидный и результат достигнут, если нет, то переходим к шагу 2
2) Выполняем команду {Down}, то есть передвигаем курсор на строку ниже.
3) Опять определяем наличие файла/каталога под курсором. Если он есть - то панель непустая, если нету - то панель пустая.
4) Выполняем команду {Up} для возвращения к исходному положению курсора.

Есть ли ещё варианты?

Добавлено: Пн апр 20, 2015 23:26
Flasher
Тут стоит спросить.

Добавлено: Вт апр 21, 2015 16:44
LonerD
На самом деле задача решается так же - выделение всех файлов, копирование их в буфер и проверка содержимого буфера.
Единственная непонятка - почему после выполнения команды 2008 иногда буфер пустой, а иногда содержит имена копируемых файлов с путями... :shock:

Спасибо за наводку на WM_COPYData. Пока совсем не понимаю что это такое и с чем его едят, и какую именно информацию можно получить с его помощью, но наверняка что-то весьма полезное. И даже когда-то давным-давно страница у меня уже добавлена в закладки, но не возникало желания/потребности разбираться.

Добавлено: Ср апр 22, 2015 10:01
Flasher
Сообщение Send_WM_COPYDATA("SС") даёт число отображаемых элементов, включая [..].