Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » TC4Shell - работа с архивами в Проводнике

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Открыть новую тему     Написать ответ в эту тему

Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
TC4Shell - это программа-архиватор. Главная её особенность в том, что вся работа с архивами ведётся прямо в Проводнике Windоws, благодаря чему открытие архива ничем не отличается от открытия простой папки. В основе TC4Shell лежат библиотеки 7z.dll и unrar.dll. Это означает, что после установки программы доступно для открытия множество типов архивов, поддерживаемых этими библиотеками, таких как 7z, zip, rar, iso и др.
 
Основные особенности программы:
 
- Полная интеграция с Проводником.
- Поддержка всех операций методом перетаскивания и копирования/вставки.
- Отображение эскизов файлов в архиве.
- Отображение файлов в архиве на панели предварительного просмотра.
- Работа с вложенными архивами.
- Менеджер паролей.
- Профили упаковки.
- Поддержка архиваторных WCX-плагинов программы Total Commander.
- Поддержка кодеков программы 7-Zip File Manager.
 

 
 
Домашняя страница: http://www.tc4shell.com/
Прямая ссылка на установщик демо-версии: http://www.tc4shell.com/binary/TC4ShellSetup.exe
Справка: http://www.tc4shell.com/ru/help/
Цена: 995 руб. (для домашнего использования) и 1495 руб. (для организаций); включает обновления в течение года.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 22:27 12-07-2015 | Исправлено: Maz, 20:43 21-05-2019
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000

Цитата:
ну дык HKCU\Software\Classes\SystemFileAssociations же!  

Теперь, вроде бы, пазл сошелся. Попробую в следующей версии твое предложение.
 
Добавлено:
Inoz2000
Выяснился новый факт. Ветка HKCR\ProgId\CLSID имеет более высокий приоритет, нежели HKCR\SystemFileAssociations\.ext\CLSID\CLSID. Это приводит к тому, что на голой системе, в которой zip имеет ProgID CompressedFolder zip файлы не удается ассоциировать с TC4Shell, поскольку Проводник использует ветку HKCR\CompressedFolder\CLSID, а не HKCR\SystemFileAssociations\.zip\CLSID. Поэтому независимо от настроек TC4Shell для открытия zip файлов Проводник использует собственное расширение оболочки, а не мое. Советы?

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 18:27 20-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Советы?
Только что прочёл и не понял глубины вопроса
На голой системе сабж прекрасно отработает с тем алгоритмом регистрации, который есть сейчас. У zip-архивов есть свой ProgID, у CAB-архивов — свой.

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 23:38 20-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На голой системе после попытки ассоциации zip и TC4Shell система для открытия zip использует не TC4Shell, а свой NSE. Т.е. проводник открывает zip, но не с помощью TC4Shell.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 23:42 20-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И когда об этом стало известно? Судя по картинке, всё это было продумано заранее.
создавались записи в HKCU\Software\Classes\CompressedFolder.
   
 
Я не знаю, что такое NSE, но стоит убрать из ProgramFiles папку TC4Shell, как ссразу же перестают открываться и 7z, и zip, и cab, которые я успел ассоциировать перед удалением. ЧЯДНТ?

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 00:09 21-07-2015 | Исправлено: Inoz2000, 00:21 21-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000

Цитата:
И когда об этом стало известно?
Не понял вопроса.
 

Цитата:
Судя по картинке, всё это было продумано заранее. создавались записи в HKCU\Software\Classes\CompressedFolder.
Да, но ранее я замещал параметр HKCU\Software\Classes\CompressedFolder\CLSID на свой, а теперь по твоему совету я пишу в HKCR\SystemFileAssociations\.zip\CLSID.
   

Цитата:
И как отличить, через что проводник заходит в zip или cab
Например, по контекстному меню внутри архива.
 

Цитата:
Не морочьте голову!
Даже и не пытаюсь. Видимо мы говорим про разные вещи. Я реализовал регистрацию на своей машине по принципу который ты предложил. Он имеет побочный эффект, который я описал.  
 

Цитата:
Я не знаю, что такое NSE
Namespace shell extension. Это то, чем является TC4Shell. Это то, чем открывал Проводник zip и cab файлы до появления TC4Shell.
 

Цитата:
но стоит убрать из ProgramFiles папку TC4Shell, как ссразу же перестают открываться и 7z, и zip, и cab, которые я успел ассоциировать перед удалением.
Ассоциировать как? Средствами TC4Shell? Или ручками правкой реестра согласно предложенного тобой метода регистрации?

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 00:27 21-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мы же столкнулись с частным случаем, когда

Цитата:
ZIP файлы уже обрабатываются расширением оболочки CompressedFolder

для этого прекрасно подходит
Цитата:
алгоритмом регистрации, который есть сейчас.

 
 
Добавлено:
ну,а во всех остальных случаях 'побочного эффекта' быть не должно

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 00:42 21-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для этого прекрасно подходит

Ок. Мы имеем два алгоритма регистрации TCShell.  
 
1) Тот, что сейчас реализован в той версии, что лежит на сайте. Он имеет побочный эффект в виде:

Цитата:
когда в системе установлен WinRar и с ним ассоциированы все архивы, то у них у всех (кроме zip) один тип файла [HKEY_CLASSES_ROOT\WinRAR]. Стоит только включить навигацию для одного расширения (напр. 7z), как все остальные архивы тоже отображаются в дереве папок, но не открываются

 
2) Предложенный тобой. Он имеет побочный эффект в виде:

Цитата:
Проводник использует собственное расширение оболочки, а не мое

 
Какой метод использовать? Или комбинировать в зависимости от ситуации? На самом деле zip и cab файлы - это не единственные файлы, которые "из коробки" имеют свой CLSID ключ, и для которых приемлем только первый способ.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 00:56 21-07-2015
ffffjjjj



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aniskin
 
Я вот знаю что если открывать архив в Rar-е то рар считывает его содержимое, но сам файл архива в памяти не держит, а когда происходит запуск файла из архива тот рар экстрактит в темп запускаемый файл и те которые ему нужны лежащие рядом, затем по завершению процесса всё это добро удаляется, если только окно архива не было закрыто до процесса.
 
Вопрос такой, а как у вас всё это дело реализовано ?
 
Почему спрашиваю, просто был одно время некий zip-фолдер (да сейчас он тоже есть, и в оболочке свой тоже есть) и вот он страшно глючный на случай если запускаешь exe файл из архива которому нужно подгружать файлы лежащие рядом с ним, или если открываешь редактором какой-то файл для которого кэш создаётся там-же где и исходник.
 
И ещё такой вопрос, а если приложению нужен доступ к файлу из архива оно может считать его через данное расширение? Если да, то нужно ли для этого предварительно открыть архив в эксплорере ?
 
 
 

Всего записей: 86 | Зарегистр. 31-12-2014 | Отправлено: 01:14 21-07-2015 | Исправлено: ffffjjjj, 01:16 21-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ffffjjjj

Цитата:
Вопрос такой, а как у вас всё это дело реализовано?
Аналогично. Но есть одно но, которое касается всех программ, реализующих подобное. Запущенная программа может в свою очередь запустить другую, передать ей в качестве параметра файл, а сама закроется. В этом случае TC4Shell считает, что файл более не нужен, и удаляет его. И вторая программа не успеет считать файл. Но эта проблема не излечима разумными средствами.
 

Цитата:
если приложению нужен доступ к файлу из архива оно может считать его через данное расширение?
Чтение файлов из архива с помощью данного расширения (и вообще с помощью любого другого, интерфейсы взаимодействия у них одинаковы) сторонней программой программистом, написавшем эту программу, технически может быть реализовано, но никто этим не заморачивается. Большинство приложений написаны для работы в классических файловых системах, поэтому, в 99,99999% случает ответ нет.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 01:32 21-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я специально акцентировал в цитате, что ZIP это -файлы. Их надо как-то привести к одному виду и назвать архивами.
 

Цитата:
комбинировать в зависимости от ситуации?
а почему нет?

Цитата:
не единственные файлы, которые "из коробки" имеют свой CLSID ключ
С CompressedFolder сомнений не возникало, значит и с другими файлами надо поступать так же точно. Показать предупреждение для порядка.
Кстати, список таких файлов с CLSID, которые могут быть открыты в виде архива, мягко говоря, невелик.
Пока других мыслей нет.
 
Добавлено:

Цитата:
Придется с этим жить.

Во всяком случае, уж лучше так, чем то, что сейчас

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 02:07 21-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000
 

Цитата:
Я специально акцентировал в цитате, что ZIP это -файлы.
К сожалению, боги не наградили меня при рождении умением понимать намеки. Поэтому я не понимаю тонких намеков. Я не понимаю толстых намеков. Я не понимаю намеков вообще. А иногда я не понимаю намеков принципиально. Поэтому если есть какая-либо мысль, которую нужно донести до меня, то лучше писать ее прямым текстом.
 

Цитата:
Их надо как-то привести к одному виду и назвать архивами.
В данном случае Zip - это файл. Строка, которую ты видишь в окне свойств, формируется автоматически при наличии ключа CLSID у ProgID расширения файла, а не только для zip файлов. Но наличие ключа CLSID не говорит о том, что файл открывается в проводнике. Это говорит о том, что есть некий сервер, который обрабатывает файлы с данным расширением. Что это за сервер и как он обрабатывает файлы с данным расширением мне не известно. Замена ключа на мой может (в общем случае) привести к неработоспособности какой то части функциональности системы. Поэтому в данном случае я использую термин файл, а не архив.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 09:29 21-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
формируется автоматически
Значит моё предложение звучит так:
Надо добавить к существующей автоматике немного логики.
 
Исходя из вышесказанного,
если какой-то файл может быть открыт в проводнике с помощиью TC4Shell, значит слово "файлы", при формировании этого предупреждения должно быть заменено на "архивы".
 

Цитата:
Но наличие ключа CLSID не говорит о том, что файл открывается в проводнике.
я этого не утверждал.
 
Добавлено:
Вернее, не утверждал обратное.

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 09:58 21-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обновил.  
 
- Множество внутренних оптимизаций, направленных на ускорение работы.
- При Drag&Drop файла в архив при нажатии Ctrl+Shift появляется окно настроек.
- Изменена методика регистрации.
- Косметические изменения.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 13:44 25-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Обновил.  

А на сайте написано версия 160
Спасибо за
Цитата:
- Изменена методика регистрации.  
теперь установил себе ещё и на ноутбук и друзьям установлю.
 
Интернет эксплорер предлагает включить надстройку 'TC4Shell BHO extension'
Что даст её включение?

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 14:45 25-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000

Цитата:
Что даст её включение?
Ничего. Она нужна для только Проводника. Но BHO общие для Windows Explorer и Internet Explorer, и поэтому Internet Explorer предлагает ее включить. Пока я не знаю, как отключить мое BHO ее для IE, что бы этого сообщения не появлялось.
 
 
Добавлено:

Цитата:
А на сайте написано версия 160
Я пока особо за сайтом не слежу.

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 14:58 25-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Пока я не знаю, как отключить

Отследить изменения, которые происходят, когда пользователь просто закрывает сообщение в IExplore.
 
Я заметил, что если есть запись в реестре
 
REGEDIT4
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{095A8667-F957-45D3-A40D-829390AB7E83}]
"Flags"=dword:00000040
 
 
, то сообщение не появляется.
ИМХО, этот Flag надо обязательно вписывать при установке. (Чтобы сообщение не появлялось)
 
Если включить надстройку, а после выключить её, то в проводнике не работает установка плагинов wcx. Чтобы она работала, надо или никогда не включать эту надстройку (Flags 40), или держать её всегда включённой.
При удалении программы, эти записи в реестре не удаляются.
 
 
Добавлено:
Лучше бы не удалялись настройки.

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 23:15 25-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000

Цитата:
то сообщение не появляется
Вроде бы нашел другое решение. Обновил дистрибутив. Попутно пофиксил еще пару некритических ошибок.  

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 23:56 25-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Конечно, такое решение "в самую точку". Всё описано человеческим языком - NoInternetExplorer и никаких флагов не надо.
Теперь нельзя включить отключенный ранее BHO (кроме меня это никто не заметит)
 
При выборе метода сжатия LZMA, максимальное число потоков должно быть ограничено 2. Больше метод не поддерживает.

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 00:47 26-07-2015
Aniskin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
При выборе метода сжатия LZMA, максимальное число потоков должно быть ограничено 2. Больше метод не поддерживает.
Спасибо, исправлю.
 
 
Добавлено:

Цитата:
Больше метод не поддерживает.
Сам 7zip в диалоге настроек в формат zip с методом сжатия LZMA предлагает количество потоков от 1 до 4. Это ошибка, или так задумано?

Всего записей: 612 | Зарегистр. 09-01-2006 | Отправлено: 00:53 26-07-2015
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
формат zip с методом сжатия LZMA предлагает количество потоков от 1 до 4

у меня от 1 до 8. так же и при PPMd в формат zip.
но я - про формат 7z
 

Всего записей: 4891 | Зарегистр. 23-04-2009 | Отправлено: 01:23 26-07-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Компьютерный форум Ru.Board » Компьютеры » Программы » TC4Shell - работа с архивами в Проводнике


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru