Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
1

Создание виртуальной файловой системы для explorer

01.09.2010, 22:51. Просмотров 2795. Ответов 11
Метки нет (Все метки)

В линуксовом (юниксовом) mc есть такое понятие "виртуальная файловая система" (ВФС). Когда в программе отображается файл, к примеру архив rar, то можно enter'ом в него зайти и увидеть внутренности архива. Для этого и используется эта ВФС. Через какие-то плагины реализуется, что для файлов с таким-то расширением нужно запустить такой-то парсер, который сгенерит образ файловой системы и отдаст его в mc, который в дальнейшем будет свободно ходить по этому образу как по настоящим файлам.

Хочется сделать то же самое для windows explorer (проводник). Это нужно не просто для того, чтобы по спискам файлов ходить, но чтобы в списке отображались дефолтные иконки, была возможность превью, возможность сортировки и т.п.

Есть ли техническая возможность сделать сие?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2010, 22:51
Ответы с готовыми решениями:

Организации виртуальной файловой системы
Задали вот такую лабораторную. Условие в файле ибо оно слишком большое. Помогите сделать, а то я...

Разработать Windows-приложение для реализации простейшей (FAT) виртуальной файловой системы
Подскажите что почитать, что бы реализовать что-нибудь из этого? ну или если у кого есть уже...

Интеграция файловой системы с ОС на виртуальной машине
Здравствуйте. Можете подсказать, как сделать видными на ОС Linux Ubuntu (работающей на виртуальной...

Можно запустить любую программу через Delphi из виртуальной файловой системы или архива?
Можно запустить любую программу через Delphi из виртуальной файловой системы или архива?

11
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10855 / 6730 / 1616
Регистрация: 25.07.2009
Сообщений: 12,469
02.09.2010, 09:20 2
Evg, ну с zip архивами он себя примерно так и ведёт - открывает, как обычную папку, показывает файлы с иконками, если открыть к примеру файл с картинкой, эксплорер его по-тихому из архива распакует и покажет... Значит, в принципе как-то делается. Вопрос только в том, зарыта ли эта фишка глубоко в эксплорер, или в виде плагина подтягивается... Но при этом тот же WinRAR может зарегистрировать на себя zip архивы и они станут в раре открываться так же, как родные раровские...
0
Эксперт С++
7172 / 3230 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
02.09.2010, 09:32 3
Поддержка zip-архивов встроена самим Microsoft в Windows XP
0
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
02.09.2010, 15:07  [ТС] 4
Цитата Сообщение от odip Посмотреть сообщение
Поддержка zip-архивов встроена самим Microsoft в Windows XP
Цитата Сообщение от easybudda Посмотреть сообщение
Но при этом тот же WinRAR может зарегистрировать на себя zip архивы и они станут в раре открываться так же, как родные раровские...
А winrar работает в своём собственном окне, а не в окне проводника
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10855 / 6730 / 1616
Регистрация: 25.07.2009
Сообщений: 12,469
02.09.2010, 15:44 5
Цитата Сообщение от Evg Посмотреть сообщение
А winrar работает в своём собственном окне, а не в окне проводника
Ну да. Вот только судя по
Цитата Сообщение от odip Посмотреть сообщение
Поддержка zip-архивов встроена самим Microsoft в Windows XP
влепить такую же поддержку для дугих типов архивов в самом проводнике наверное не получится... Хотя точно не уверен, надо в мелкомягкой документации рыться (занятие - врагу не пожелаешь )
0
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
02.09.2010, 16:49  [ТС] 6
Абыдна... Хотя если повспоминать, то кроме zip'а вроде бы такую функциональность нигде больше и не видел
0
бжни
2468 / 1678 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
02.09.2010, 22:45 7
Evg, это технология Shell Extension - расширение explorer
Прогрессивная достаточно, вот самому приходится изучать
идея в создании COM-объекта-сервиса, который загрузится в проводник и тот будет тянуть от него интерфейсы, например ShellFolder - для физического отображения папки, ShellView - для отображения в проводнике итд, довольно много всего и не совсем просто

например
http://msdn.microsoft.com/en-u... S.85).aspx

Добавлено через 1 минуту
Цитата Сообщение от Evg Посмотреть сообщение
Абыдна... Хотя если повспоминать, то кроме zip'а вроде бы такую функциональность нигде больше и не видел
bluetooth-ftp сервис, встроенный прямо в проводник, у меня на ноуте веб-камера прямо в моем компьютере отображается, применений масса
1
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
02.09.2010, 22:57  [ТС] 8
alex_x_x, а есть какой-нибудь пример конкретной несложной программы? А то по этому описанию не очень понял, что с чем едят и куда засовывают
0
бжни
2468 / 1678 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
02.09.2010, 23:08 9
две статьи у дяди
http://www.codeproject.com/KB/... uide1.aspx
http://www.codeproject.com/KB/... uide2.aspx
Visual C++ Windows Shell Programming книга, в гугле по второй же ссылке
на мсдне должны быть примеры

просто я сейчас с этим в уже практически готовом проекте разбираюсь, поэтому с нуля писать не приходилось
1
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
02.09.2010, 23:22  [ТС] 10
Мда... надо будет запастись терпением
0
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,459
Записей в блоге: 30
05.09.2010, 11:20  [ТС] 11
Цитата Сообщение от alex_x_x Посмотреть сообщение
две статьи у дяди
http://www.codeproject.com/KB/... uide1.aspx
http://www.codeproject.com/KB/... uide2.aspx
Visual C++ Windows Shell Programming книга, в гугле по второй же ссылке
на мсдне должны быть примеры

просто я сейчас с этим в уже практически готовом проекте разбираюсь, поэтому с нуля писать не приходилось
Остановился на первой же табличке по первой ссылке.

Идея следующая. Запускаю свою программу, которая ковыряется на диске, собирает информацию из разных папок (например, найти все файлы с расширением *.txt) и формирует некий виртуальный каталог, в котором есть список всех найденных файлов, но расположенных так, как будто все эти файлы находятся в одном каталоге. Далее открывается explorer, отображающий эту папку как Readonly: файлы можно сортировать по имени, по размеру, по дате создания, открывать дабл-кликом, смотреть превью (если это картинка или видео) и т.д.

Насколько я понял из описания в первой табличке, там желаемой возможности нет. Я по английски читаю медленно, а потому глазами всю статью "пробежать" не могу. Поэтому мне проще спросить тут
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10855 / 6730 / 1616
Регистрация: 25.07.2009
Сообщений: 12,469
05.09.2010, 12:06 12
Цитата Сообщение от Evg Посмотреть сообщение
Запускаю свою программу, которая ковыряется на диске, собирает информацию из разных папок (например, найти все файлы с расширением *.txt) и формирует некий виртуальный каталог, в котором есть список всех найденных файлов, но расположенных так, как будто все эти файлы находятся в одном каталоге. Далее открывается explorer, отображающий эту папку как Readonly: файлы можно сортировать по имени, по размеру, по дате создания, открывать дабл-кликом, смотреть превью (если это картинка или видео) и т.д.
В мак-оси smart folder примерно так же работает...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2010, 12:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Расширение места для корня файловой системы
Доброй ночи всем. Внезапно обнаружил, что в корне системы / осталось всего 293 Мб, а это всего...

Посоветуйте софт для чистки файловой системы и реестра
Здравствуйте форумчане, посоветуйте софт(чистка файлов/реестра) чтоб не сильно вредил компу. Где то...

Файл слишком велик для конечной файловой системы
Файл слишком велик для конечной файловой системы. Карта на 16gb.

Написать программу для сканирования файловой системы Unix
Нужно написать программу, сканирующую все каталоги файловой системы Unix и находящую все i-узлы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.