Вверх ↑
Ответов: 2358
Рейтинг: 683
#1: 2025-03-25 15:10:03 ЛС | профиль | цитата
В Windows есть файлы(папки) символических ссылок (подробней можно поискать информацию в сети: NTFS Reparse Points). В проводнике отображаются с характерным ярлыком и особо не отличаются от папок.

В файловых менеджерах они уже называются как Ссылки, чем по сути и являются.

Сама Windows не много дает информации о них.

В HiAsm нет возможности определить что это именно ссылка. Ни FileSearch, ни FileAttribute нет возможности определить даже нужный атрибут, не говоря уже о том куда ссылается такая папка.

Внес следующие изменения.
hiFileSearch.pas:
-Выдает на точку Attr число где 9 бит говорит о том что это ссылка
FileSearch.ini
-Дополнил описание к данной точке о битах

hiFileAttribute.pas:
-добавлено doGetReparsePoint и onGetReparsePoint с помощь которых можно получить данные о символической ссылке. На onError выдаются ошибки если что-то пойдет не так (чтение файла, получение данных)
-внесены изменения в работу doGetFileIcon позволяющие получать иконку не только файла и папки, но и привязанного расширения (.bmp,.txt). Так же с иконкой можно получить описание типа файла (свойство TypeNameIcon). Иконка можно получить залитой цветом как выделенная (свойство SelectIcon) и/или как ссылочную с стрелкой в нижнем левом углу (свойство LinkIcon).


Внесенные не вредят совместимости с предыдущими версиями и лишь дополняют функционал.

В простой тестовой схеме можно ввести в ручную или перетащить любую папку/файл символической ссылки из проводника или любого файлового менеджера для получения данных. Желательно хорошенько протестировать.


Скачать архив (31_03_2025)
карма: 11

0
Редактировалось 7 раз(а), последний 2025-04-08 21:50:52