Страница 1 из 1
Особенности поиска в архивах
Добавлено: Сб ноя 11, 2006 02:16
Lamer
Даже не знаю,как потолковее объяснить проблему.
Два часто используемых мной плагина, 7zip и fhRAR, прерывают работу ТС и запрашивают пароль, если по ходу поиска попадается зашифрованный файл.
Я хотел бы изменить такое их поведение,чтобы была возможность оставлять ТС "без присмотра",даже если запароленные архивы будут при этом выброшены из рассмотрения. Сырцы есть, созданы ,можно сказать, все условия. Но я не понимаю, как можно идентифицировать режим поиска.
У кого нибудь есть идеи?
Добавлено: Сб ноя 11, 2006 16:06
Alextp
2Lamer
Вроде стандартных способов нет.
А "хак", если таковой найдется, вдруг еще не заработает под какой-нибудь версией Тотала...
Добавлено: Сб ноя 11, 2006 16:41
Lamer
Трагично.
А как же с этим бороться?
Как эту проблему обходят остальные?
Добавлено: Сб ноя 11, 2006 16:48
Alextp
А кто эту проблему обходит?
Добавлено: Сб ноя 11, 2006 16:59
Lamer
Неужели все так мучаются при поиске,если попадается зашифрованный архив? Стоит в папке даунлоуда один архив забыть переупаковать и всё,поиск обламывается в самый интересный момент.
Может того..., запрос пароля при открытии архива запретить совсем и поизводить только по дополнительному требованию пользователя?
Добавлено: Сб ноя 11, 2006 19:42
funduk
1. Хак однозначно. Правда, если просто отслеживать заголовок окна, то надо учитывать, что может быть запущено несколько тоталов.
2. Я храню пароленные архивы, меняя их расширение. Так что в них тотал даже не заикается искать.
Добавлено: Сб ноя 11, 2006 19:58
Lamer
1. А не мог бы ты немного развить мысль?
2. Хорошая идея. Спасибо.
Добавлено: Сб ноя 11, 2006 22:01
funduk
Хмм, ну заголовок-то окна поиска какой? "Поиск файлов"? Видимо, надо скрипт сделать такой, что висит в фоне и нажимает в диалогах с заголовком "пароль" кнопку "отмена", если среди всех окон есть одно с заголовком "поиск файлов".
Если хочешь модифицировать сырцы, то надо перед показом диалога для ввода пароля (если такое вообще возможно) проверить, а нет ли окон с заголовком "поиск файлов".
Напоминаю, что в хаках спец - majkinetor, а не я =)
Добавлено: Сб ноя 11, 2006 22:13
Lamer
Не скромничай.

А majkinetor к тому же и англоговорящий.
Спасибо.
Добавлено: Пн ноя 13, 2006 10:00
Maximus
Хмм, ну заголовок-то окна поиска какой? "Поиск файлов"?
Тогда уж не по тексту заголовка, а по имени класса окна -- "TFindFile".
Добавлено: Вт ноя 14, 2006 07:53
Моторокер
У меня какой-то другой 7zip плагин? Пароль не запрашивает.
Скорее всего не по TFindFile, а по заголовку/классу окна сообщения плагина, не тотала. А его класс скорее всего какой-нибудь обычный типа #32767. Текст скорее всего тоже не выцепить, если это не StaticText, а без этого не узнать, о чём сообщение.
Глянь каким-либо пипером.
Добавлено: Чт ноя 16, 2006 01:23
Alextp
2Моторокер
Ты не понял - окно плагина ему не надо отслеживать. Он исходник этого плагина правит.
Добавлено: Чт ноя 16, 2006 02:07
Lamer
Не, мужики, господа, товарищи (как кому нравится

). Я действительно хочу подправить исходники fhRARa и (возможно) 7zipa. И идея funduka c поправкой Maximusa мне нравится.Но! Я напоминаю, дело то приходится иметь с WCX плагином.Стало быть, так легко окно Тотал Коммандера мне не отдастся,оно же мне не родитель.Не получится так легко,как с листер-плагинами,где хэндл родителя-окна листера получил и от него пляшешь.Вот я сейчас пытаюсь с уровня рабочего стола по классу TTOTAL_CMD искать.И от него дочку-окно поиска. Только-только начал.Пока не клеится.
А что касается плагина 7zip , то у меня версия 0.52 , и пароль она просит всегда, как только при поиске ей попадается зашифрованный архив.
Да,ну и последнее-почему меня не смущает,что это хак. Я надеюсь,что версия ТС,с которой он перестанет срабатывать, будет уже юникодной и с доработками.То есть необходимость в таком костыле,как fhRAR, там уже отпадёт.
Добавлено: Чт ноя 16, 2006 08:15
Моторокер
Дошло.
К сожалению, Parent он даёт только в ConfigurePacker.
GetNextWindow(HInstance, GW_OWNER);
GetParent(HInstance);
не прокатывают.
Может это?
http://www.wasm.ru/forum/viewtopic.php?pid=118883