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

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

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

Сообщение LonerD »

Как определить - есть ли в панели файлы/каталоги или же панель пустая, не прибегая к манипуляциям с передвижением курсора?

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

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

Есть ли ещё варианты?
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Тут стоит спросить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

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

Спасибо за наводку на WM_COPYData. Пока совсем не понимаю что это такое и с чем его едят, и какую именно информацию можно получить с его помощью, но наверняка что-то весьма полезное. И даже когда-то давным-давно страница у меня уже добавлена в закладки, но не возникало желания/потребности разбираться.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Сообщение Send_WM_COPYDATA("SС") даёт число отображаемых элементов, включая [..].
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить