Total7zip
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
добавил в шапку версию 0.5.0.8
из нового:
для упаковки и обновления архивов используется 7zG.exe из поставки 7-zip.
плагин позволяет использовать специальные настройки компрессии, отличные от настроек самого 7-zip.
в конфиге можно задать путь к любому 7zG.exe, если хотите и можете - используйте 64 битный.
читайте readme_ru.txt
из нового:
для упаковки и обновления архивов используется 7zG.exe из поставки 7-zip.
плагин позволяет использовать специальные настройки компрессии, отличные от настроек самого 7-zip.
в конфиге можно задать путь к любому 7zG.exe, если хотите и можете - используйте 64 битный.
читайте readme_ru.txt
-
Den_Klimov
- Сообщения: 207
- Зарегистрирован: Пт ноя 03, 2006 11:27
- Откуда: Ukraine.Kiev
Установил версию Total7zip 0.5.0.8 автоматической установокй. При этом файл 7z.dll оказался в каталоге плага, а отнюдь не в корне каталога Тотала.
Это нормально? Так и должно быть? Проблем из-за этого не будет? Или всё же нужно вручную переместить 7z.dll в корень каталога Тотала?
Я так понял путь к файлу по умолчанию прописан в total7zip.ini и предполагает что он именно в каталоге с плагом а не в корне папки Тотала.
Но как тогда понять следующую инструкцию ручной установки?
Это нормально? Так и должно быть? Проблем из-за этого не будет? Или всё же нужно вручную переместить 7z.dll в корень каталога Тотала?
Я так понял путь к файлу по умолчанию прописан в total7zip.ini и предполагает что он именно в каталоге с плагом а не в корне папки Тотала.
Но как тогда понять следующую инструкцию ручной установки?
???вариант 2 - ручная установка
1) в папку с тоталом скопировать 7z.dll, последнюю версию можно найти тут http://sourceforge.net/projects/sevenzip/
Den_Klimov, попробуй разные варианты. Вариант с ручным прописыванием пути работает в любом случае.
Total7zip, оригинальная идея эксплуатации диалога настроек:) единственное что имя файла можно было бы использовать другое. Еще, если его изменить, временный файл остается (не всегда, вижу, но, к примеру, если я затру последний слэш, т.е. файл должен будет создаться в надкаталоге, он останется). А если я в диалоге настроек очищу поле имени архива и нажму ОК, то вроде бы ничего плохого не произойдет - но потом упаковка происходит с ошибкой.
Думаю, неплохим был бы вариант ожидания появления диалога настроек со скрытым (придется скрывать поле ввода c id=0x430 и кнопку с id=0x431 - а в идеале еще и статик с id=0x449) полем ввода имени архива (тогда имя архива можно сделать вообще случайным и не зависящим от имени папки и т.п. - просто файл во временной папке с именем вроде %TEMP%\$t7z_cfg). Ожидать диалог можно прямо из потока, запускающего архиватор с диалогом - дождаться диалога (сканировать окна, принадлежащие запущенному процессу), скрыть поля, а потом начать ожидание завершения. В общем, ожидание будет выглядеть примерно так (единственная небольшая проблема - GetProcessId появилась только в XP SP1 - но XP без сервис-паков нынче редкость):(т.е. короткие интервалы ожидания, пока не появится диалог, потом один бесконечный интервал до завершения процесса)
Так у пользователя не возникнет желания (да и случайности) изменить текст. Заодно можно и заголовок диалога изменять - проще простого:)
Ну и так, для полного счастья, хорошо бы ридмишник почистить (орфография и т.п. - например, оффициальной, откройте архивом).
Total7zip, оригинальная идея эксплуатации диалога настроек:) единственное что имя файла можно было бы использовать другое. Еще, если его изменить, временный файл остается (не всегда, вижу, но, к примеру, если я затру последний слэш, т.е. файл должен будет создаться в надкаталоге, он останется). А если я в диалоге настроек очищу поле имени архива и нажму ОК, то вроде бы ничего плохого не произойдет - но потом упаковка происходит с ошибкой.
Думаю, неплохим был бы вариант ожидания появления диалога настроек со скрытым (придется скрывать поле ввода c id=0x430 и кнопку с id=0x431 - а в идеале еще и статик с id=0x449) полем ввода имени архива (тогда имя архива можно сделать вообще случайным и не зависящим от имени папки и т.п. - просто файл во временной папке с именем вроде %TEMP%\$t7z_cfg). Ожидать диалог можно прямо из потока, запускающего архиватор с диалогом - дождаться диалога (сканировать окна, принадлежащие запущенному процессу), скрыть поля, а потом начать ожидание завершения. В общем, ожидание будет выглядеть примерно так (единственная небольшая проблема - GetProcessId появилась только в XP SP1 - но XP без сервис-паков нынче редкость):
Код: Выделить всё
DWORD pid=GetProcessId(shx.hProcess);
int wait_time=100;
while (WaitForSingleObject(shx.hProcess, wait_time)==WAIT_TIMEOUT) {
HWND h7dlg=0;
while (h7dlg=FindWindowEx(0, h7dlg, "32770", 0)) {
DWORD wndpid;
if (!GetWindowThreadProcessId(h7dlg, &wndpid)) { h7dlg=0; break; }
if (wndpid==pid) break;
}
if (h7dlg) {
SetWindowText(h7dlg, L"Total7zip Compression Settings");
const int hidefields[3]={0x430, 0x431, 0x449};
for (int i=0; i<3; ++i) ShowWindow(GetDlgItem(h7dlg, hidefields[i]), 0);
wait_time=INFINITE;
}
}Так у пользователя не возникнет желания (да и случайности) изменить текст. Заодно можно и заголовок диалога изменять - проще простого:)
Ну и так, для полного счастья, хорошо бы ридмишник почистить (орфография и т.п. - например, оффициальной, откройте архивом).
Файл настроек называется total7zip.ini? Просто я плагин переименовал в 7zip и у меня появился файл 7zip.ini. Все его содержимое создалось автоматически, я только подправил пути до 7z.dll и 7zG.exe:
То есть настройки берутся из самого плагина.
И еще заметил такое поведение. Если упаковку провести плагином, то настройки не меняются для самого 7zip, а если наоборот, то плагин подхватывает настройки уже из реестра. Получается, что плагин не сохраняет настройки в своем конфиг файле?
Код: Выделить всё
<?xml version="1.0"?>
<settings>
<path path_7z_dll="%commander_path%\Utils\7z\7z.dll" path_7zG_exe="%commander_path%\Utils\7z\7zG.exe" />
<compression save="1">
<compression7z Level="4294967295" Dictionary="4294967295" Order="4294967295" BlockSize="4294967295" NumThreads="4294967295" Method="" />
</compression>
<passwords save="0" />
<formats save="1">
<format description="ZIP" guid="{23170F69-40C1-278A-1000-000110010000}">
<ext val="zip" />
</format>
<format description="BZIP2" guid="{23170F69-40C1-278A-1000-000110020000}">
<ext val="bz2" />
<ext val="bzip2" />
<ext val="tbz" />
<ext val="tbz2" />
</format>
<format description="RAR" guid="{23170F69-40C1-278A-1000-000110030000}">
<ext val="rar" />
</format>
<format description="ARJ" guid="{23170F69-40C1-278A-1000-000110040000}">
<ext val="arj" />
</format>
<format description="Z" guid="{23170F69-40C1-278A-1000-000110050000}">
<ext val="taz" />
<ext val="z" />
</format>
<format description="LZH" guid="{23170F69-40C1-278A-1000-000110060000}">
<ext val="lha" />
<ext val="lzh" />
</format>
<format description="7z" guid="{23170F69-40C1-278A-1000-000110070000}">
<ext val="7z" />
</format>
<format description="CAB" guid="{23170F69-40C1-278A-1000-000110080000}">
<ext val="cab" />
</format>
<format description="NSIS" guid="{23170F69-40C1-278A-1000-000110090000}">
<ext val="exe" />
</format>
<format description="LZMA" guid="{23170F69-40C1-278A-1000-0001100A0000}">
<ext val="lzma" />
</format>
<format description="LZMA86" guid="{23170F69-40C1-278A-1000-0001100B0000}">
<ext val="lzma86" />
</format>
<format description="XZ" guid="{23170F69-40C1-278A-1000-0001100C0000}">
<ext val="xz" />
</format>
<format description="PPMD" guid="{23170F69-40C1-278A-1000-0001100D0000}">
<ext val="ppmd" />
</format>
<format description="SquashFS" guid="{23170F69-40C1-278A-1000-000110D20000}">
<ext val="squashfs" />
</format>
<format description="CramFS" guid="{23170F69-40C1-278A-1000-000110D30000}">
<ext val="cramfs" />
</format>
<format description="APM" guid="{23170F69-40C1-278A-1000-000110D40000}">
<ext val="apm" />
</format>
<format description="MSLZ" guid="{23170F69-40C1-278A-1000-000110D50000}">
<ext val="mslz" />
</format>
<format description="FLV" guid="{23170F69-40C1-278A-1000-000110D60000}">
<ext val="flv" />
</format>
<format description="SWF" guid="{23170F69-40C1-278A-1000-000110D70000}">
<ext val="swf" />
</format>
<format description="SWFC" guid="{23170F69-40C1-278A-1000-000110D80000}">
<ext val="swfc" />
</format>
<format description="NTFS" guid="{23170F69-40C1-278A-1000-000110D90000}">
<ext val="ntfs" />
</format>
<format description="FAT" guid="{23170F69-40C1-278A-1000-000110DA0000}">
<ext val="fat" />
</format>
<format description="MBR" guid="{23170F69-40C1-278A-1000-000110DB0000}">
<ext val="mbr" />
</format>
<format description="VHD" guid="{23170F69-40C1-278A-1000-000110DC0000}">
<ext val="vhd" />
</format>
<format description="PE" guid="{23170F69-40C1-278A-1000-000110DD0000}">
<ext val="exe" />
<ext val="pe" />
</format>
<format description="ELF" guid="{23170F69-40C1-278A-1000-000110DE0000}">
<ext val="elf" />
</format>
<format description="MACH-O" guid="{23170F69-40C1-278A-1000-000110DF0000}">
<ext val="mach-o" />
</format>
<format description="UDF" guid="{23170F69-40C1-278A-1000-000110E00000}">
<ext val="iso" />
<ext val="udf" />
</format>
<format description="XAR" guid="{23170F69-40C1-278A-1000-000110E10000}">
<ext val="xar" />
</format>
<format description="MUB" guid="{23170F69-40C1-278A-1000-000110E20000}">
<ext val="mub" />
</format>
<format description="HFS" guid="{23170F69-40C1-278A-1000-000110E30000}">
<ext val="hfs" />
</format>
<format description="DMG" guid="{23170F69-40C1-278A-1000-000110E40000}">
<ext val="dmg" />
</format>
<format description="Compound" guid="{23170F69-40C1-278A-1000-000110E50000}">
<ext val="doc" />
<ext val="msi" />
<ext val="ppt" />
<ext val="xls" />
</format>
<format description="WIM" guid="{23170F69-40C1-278A-1000-000110E60000}">
<ext val="swm" />
<ext val="wim" />
</format>
<format description="ISO" guid="{23170F69-40C1-278A-1000-000110E70000}">
<ext val="iso" />
</format>
<format description="BKF" guid="{23170F69-40C1-278A-1000-000110E80000}">
<ext val="bkf" />
</format>
<format description="CHM" guid="{23170F69-40C1-278A-1000-000110E90000}">
<ext val="chm" />
<ext val="chw" />
<ext val="hxs" />
</format>
<format description="Split" guid="{23170F69-40C1-278A-1000-000110EA0000}">
<ext val="001" />
<ext val="002" />
<ext val="003" />
<ext val="004" />
<ext val="005" />
<ext val="006" />
<ext val="007" />
<ext val="008" />
<ext val="009" />
<ext val="010" />
</format>
<format description="RPM" guid="{23170F69-40C1-278A-1000-000110EB0000}">
<ext val="rpm" />
</format>
<format description="DEB" guid="{23170F69-40C1-278A-1000-000110EC0000}">
<ext val="deb" />
</format>
<format description="CPIO" guid="{23170F69-40C1-278A-1000-000110ED0000}">
<ext val="cpio" />
</format>
<format description="TAR" guid="{23170F69-40C1-278A-1000-000110EE0000}">
<ext val="tar" />
</format>
<format description="GZIP" guid="{23170F69-40C1-278A-1000-000110EF0000}">
<ext val="gz" />
<ext val="gzip" />
<ext val="tgz" />
</format>
</formats>
</settings>И еще заметил такое поведение. Если упаковку провести плагином, то настройки не меняются для самого 7zip, а если наоборот, то плагин подхватывает настройки уже из реестра. Получается, что плагин не сохраняет настройки в своем конфиг файле?
Похоже плагин вообще никакие настройки не подхватывает и не сохраняет ни в ini, ни в реестр, по крайней мере у меня с любыми настройками 7zG пакует, судя по размеру, как "lzma Normal"... В ini все параметры паковки в 0xffffffff, значение <compression save> не имеет значения и окно с настройками 7zG тоже убивается некорректно, т.к. иногда при этом сворачивается окно самого тотала, а бывает что тотал остается, но прячется диалог "упаковка файлов", хотя он и topmostjentoso писал(а): И еще заметил такое поведение. Если упаковку провести плагином, то настройки не меняются для самого 7zip, а если наоборот, то плагин подхватывает настройки уже из реестра. Получается, что плагин не сохраняет настройки в своем конфиг файле?
обновил шапку, убрал старые версии.
в последней версии 0.5.1.0 поддерживаются все операции - распаковка для всех форматов, упаковка, изменение и удаление файлов - только 7z формат.
на этом я видимо заканчиваю, так как считаю плагин функционально полностью рабочим.
разработку продолжу, если появятся баги, или гениальные идеи.
всем спасибо =)
в последней версии 0.5.1.0 поддерживаются все операции - распаковка для всех форматов, упаковка, изменение и удаление файлов - только 7z формат.
на этом я видимо заканчиваю, так как считаю плагин функционально полностью рабочим.
разработку продолжу, если появятся баги, или гениальные идеи.
всем спасибо =)
Total7zip
Автору тоже спасибо. Но:
Вопрос номер раз: как насчёт возможности русификации? В 7zip Plugin это есть, а к хорошему быстро привыкаешь.
Вопрос номер два: в шапке предлагается назначать плагину архивные расширения вручную. ИМХО, как минимум хотя бы наравне с этим вариантом (если не вместо него) должен быть описан стандартный и более удобный способ с назначением ассоциации через диалог настройки архиваторных плагинов.
Автору тоже спасибо. Но:
Вопрос номер раз: как насчёт возможности русификации? В 7zip Plugin это есть, а к хорошему быстро привыкаешь.
Вопрос номер два: в шапке предлагается назначать плагину архивные расширения вручную. ИМХО, как минимум хотя бы наравне с этим вариантом (если не вместо него) должен быть описан стандартный и более удобный способ с назначением ассоциации через диалог настройки архиваторных плагинов.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
1. При добавлении файлов в архив они всегда оказываются в корне.Total7zip писал(а): на этом я видимо заканчиваю, так как считаю плагин функционально полностью рабочим.
2. Перепрыгивание topmost окон на задний план, когда тотал сверху, но не имеет фокуса, потому в нем ничего нельзя сделать, раздражает...
Total7zip
Плагин установлен с полной комплектацией. Пути к 7z.dll и 7zG.exe в папке плагина указал полные (впрочем, пробовал и в варианте по умолчанию). Ассоциирован, предположим, с 7z. Создаю новый архив или добавляю старый. В диалоге архивации TC жму кнопку "Настройка...". Где в открывшемся окне "Add to Archive" русский язык?
Плагин установлен с полной комплектацией. Пути к 7z.dll и 7zG.exe в папке плагина указал полные (впрочем, пробовал и в варианте по умолчанию). Ассоциирован, предположим, с 7z. Создаю новый архив или добавляю старый. В диалоге архивации TC жму кнопку "Настройка...". Где в открывшемся окне "Add to Archive" русский язык?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Когда в тоталовском окне "упаковка файлов" жмешь "настройки" и запускается 7zG, то после его закрытия часто или сам тотал уходит на задний план, или окно "упаковка файлов" уходит под тотал, который думает, что оно на переднем плане, потому у него самого в данный момент фокуса нет. Похоже такие проблемы наблюдаются гораздо чаще если в 7zG менять настройки, особенно когда вводишь пароль.Total7zip писал(а): "Перепрыгивание topmost окон на задний план" - как это воспроизводится?
Видимо, нужна папочка Lang (хотя бы с файлом русской локализации) из дистрибутива 7-Zip. Возможно, также и запись в реестре, указывающая выбранный в 7-Zip язык интерфейса - это строковое значение в разделе HKEY_CURRENT_USER\Software\7-Zip с именем Lang, которое содержит имя файла языка без расширения (ru для русского). Короче,Где в открывшемся окне "Add to Archive" русский язык?
Код: Выделить всё
[HKEY_CURRENT_USER\Software\7-Zip]
"Lang"="ru"
Последний раз редактировалось MVV Пт дек 10, 2010 13:34, всего редактировалось 1 раз.