Открытое содержание архивного файла в OpenFileDiaolg C#

Я хочу Открыть File Dialog с ****.class ***, ****.jar *** фильтры. Я хочу это, *.jar файлы будут рассматривать как папки (нажатие OK, или двойной щелчок должен отобразить содержание файла банки [*.class]). Эта возможность очень похожа на плагин архива TotalCommander, которые позволяют Вам просмотреть внутренние оперативные архивные файлы (без потребности извлечь их, и т.д....)

Какие-либо идеи, как это могло быть сделано? Я могу использовать что-то, что уже реализовано?

Спасибо, парень

1
задан Guy 30 May 2010 в 14:14
поделиться

2 ответа

Чтобы сделать это с помощью стандартного проводника Windows и общих диалоговых окон, вам нужно будет написать или найти подходящее расширение пространства имен Shell.

Расширение пространства имен оболочки - это COM-объект, который позволяет вам представлять виртуальные папки в оболочке проводника. Таким образом, в вашем случае расширение оболочки позволит пользователю перемещаться по файловой структуре jar, как если бы это была папка на вашем компьютере.

Вы можете написать расширение оболочки с управляемым кодом, но, по крайней мере, для версий инфраструктуры до 4.0 это не поддерживалось MS из-за возможных проблем с конфликтом загрузки более чем одной версии платформы в процесс. Теперь, когда 4.0 поддерживает параллельную загрузку версий фреймворка, возможно это поддерживается.

Вот ссылка на статью о написании расширения пространства имен оболочки
http://msdn.microsoft.com/en-us/magazine/cc188741.aspx

Я никогда не пробовал, но вот расширение, которое поддерживает обработку файлов с поддержкой 7-zip в виде папки. Может быть, это поможет вам хотя бы начать работу, если вам нужно сделать это самому.
http://7zipshell.codeplex.com/

2
ответ дан 3 September 2019 в 00:13
поделиться

Вот статья, описывающая открытие Jars в C #:

http://www.codeproject.com/KB/files/opening_jars_cs.aspx

Если вы объедините это либо с ответом Криса о написании расширения или вы напишите свой собственный диалог, если это проще, вы сможете делать то, что хотите.

0
ответ дан 3 September 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: