Страница 3 из 3
Добавлено: Ср июн 23, 2010 17:00
Flasher
MVV писал(а):В смысле "делишь"?
Прошу прощения, описался.

Удаляю т.е.
MVV писал(а):И тебе надо поверх этой строки /select прописать строку "%s". А в столбце текста нулевой байт поставить невозможно.
Не понимаю зачем писать поверх, если "%s" идёт сделом, а дальше и эти нулевые байты, не проще удалить перед ним и всё?
Добавлено: Ср июн 23, 2010 17:04
MVV
Flasher писал(а):MVV писал(а):В смысле "делишь"?
Прошу прощения, описался.

Удаляю т.е.
MVV писал(а):И тебе надо поверх этой строки /select прописать строку "%s". А в столбце текста нулевой байт поставить невозможно.
Не понимаю зачем писать поверх, если "%s" идёт сделом, а дальше и эти нулевые байты, не проще удалить перед ним и всё?
Так, теперь вопрос - что ты вкладываешь в термин "удалять" в рамках правки бинарного файла? Заменяешь нулевыми символами, выделяешь и удаляешь через Delete? Или что?
Если ты забьешь
/select нулями, ты оборвешь строку, и до
"%s" дело никогда не дойдет - следовательно, путь к файлу/папке не будет дописан к параметру вызова ярлыка.
Если ты выделишь и удалишь, ты
сломаешь экзешник, так как сместятся адреса всего того, что находится ниже этой строки.
Единственный возможный выход здесь - замостить все символы фразы
/select пробелами (в hex будет
20 00 20 00 ...) - тогда будет использоваться уже имеющаяся
"%s". При этом тотал должен будет просто пропускать пробелы, так как параметры разделяются любым числом оных.
Добавлено: Ср июн 23, 2010 17:06
Flasher
MVV писал(а):выделяешь и удаляешь через Delete?
Оно.
MVV писал(а):Единственный возможный выход здесь - замостить все символы фразы /select пробелами (в hex будет 20 00 20 00 ...). А если ты забьешь нулями, ты оборвешь строку, и до "%s" дело никогда не дойдет.
Почему-то при правке explorer.exe на open.lnk у меня всё прошло на ура. Ладно, сейчас попробую твой метод.
Добавлено: Ср июн 23, 2010 17:16
Flasher
Кстати, а что ты подразумеваешь под "написать поверх"? Скопировал нужное, выделил всю строку, вставил поверх. Или тоже прописывать 20 00..?
Добавлено: Ср июн 23, 2010 17:21
MVV
Оно.
Удивляюсь, как он у тебя после этого запускается... Сдвиг хоть на 1 байт по идее все ломает, так как уже по сохраненным в коде смещениям будут начинаться совсем другие данные. А сдвиг на байт в секции кода - вообще катастрофа.
Почему-то при правке explorer.exe на open.lnk у меня всё прошло на ура. Ладно, сейчас попробую твой метод.
Исправлять
explorer.exe на
open.lnk нужно в любом случае. Иначе какой смысл править параметр, если он по-прежнему будет передаваться эксплореру, а не ярлыку для запуска тотала. А исправлять строку
/select,"%s" нужно для перехода к файлам (для торрентов, содержащих лишь один файл, или из панели списка файлов).
Кстати, а что ты подразумеваешь под "написать поверх"? Скопировал нужное, выделил всю строку, вставил поверх. Или тоже прописывать 20 00..?
Если ты не обратил внимания, в hex-редакторе основной режим ввода текста - режим замены, то есть, введенные тобой символы заменяют символы под курсором (т.е., пишутся поверх них) - хотя, можно переключиться в режим вставки клавишей Insert (программа предупреждает, что это может повлиять на размер файла) - но только при правке файлов, размер которых менять можно (например, текстовых или текстово-двоичных типа торрент-файлов, но тут уже надо соблюдать формат). То есть, чтобы записать
"%s" поверх
/select, нужно исправить
/ на
",
s на
% и т.п. Режимов вставки из буфера в винхексе два - один вставляет (Paste, Ctrl+V), а другой пишет поверх (Write, Ctrl+B).
Т.о., можно прописать с помощью Ctrl+B скопированную в буфер строку, а можно прописать ее вручную, используя hex-поле или текстовый столбец. А прописать можно как сразу строку
"%s", так и ее же с кучей пробелов как до, так и после - это не повлияет на работоспособность, так как лишние пробелы между параметрами игнорируются, а мы формируем строку параметров.
Добавлено: Ср июн 23, 2010 18:06
Flasher
MVV писал(а):Исправлять explorer.exe на open.lnk нужно в любом случае. Иначе какой смысл править параметр, если он по-прежнему будет передаваться эксплореру, а не ярлыку для запуска тотала. А исправлять строку /select,"%s" нужно для перехода к файлам (для торрентов, содержащих лишь один файл, или из панели списка файлов).
Я как бы в курсе.
В общем сделал всё по науке, скачанная папка открывается, а скачанный файл даже в папке не открывается, окно ТС моргает и всё.
Добавлено: Ср июн 23, 2010 23:06
MVV
Взял щас быстренько, распаковал, прописал browse.lnk поверх explorer.exe два раза, потом прописал "%s" поверх /select,"%s", заменил файл, кинул ярлык browse.lnk в папку винды, запустил мюторрент - всё работает, открывает папку в ТК для папок и ставит фокус на файл для файлов.
Интересно, почему оно у тебя моргает... Никаких хитромудрых скриптов не запущено в фоне? Попробуй закрыть ТК и потестить.
Добавлено: Ср июн 23, 2010 23:31
Flasher
MVV
Всё, забил /select пробелами - попёрло!

Хотя практичеки то же самое несколько часов назад делал. Спасибо!

Добавлено: Чт июн 24, 2010 20:51
laburj
MVV, спасибо большое за то, что столько времени уделил! всё наконец-то получилось.
просто раньше нулями забивал "/select", а теперь сделал как надо "/select" заменил на "%s", а оставшиеся символы забил нулями
Добавлено: Вс янв 06, 2013 01:05
No Name
MVV
Большое спасибо за подробное описание действий!
Тоже озадачился открытием папок из utorrent в TC.
Использую uTorrent версии 2.2.1.25302 (считается самой стабильной версией).
Распакован он у меня был давно, поэтому просто нашел и заменил в WinHex две строки explorer.exe и /select,"%s".
Рядом с utorrent положил прописанный файл OpenInTC.cmd с содержанием "C:\Programs\TotCmd\totalcmd.exe /O /S /T"
Теперь проблема - открытие в TC работает только при двойном клике на файле/папке в списке файлов торрента (где оно почти не требуется)
А при двойном клике в окне со списком торрентов по прежнему открываются стандартные папки.
Нет идей где ещё можно покопать?
Архив с распакованным и пропатченным uTorrent'ами - narod.ru/disk/65153528001.a47775637f91666edddaf39bc265d282/uTorrentTC.zip.html
P.S. Попробовал назначить действие по умолчанию для всех папок в Windows - открыть в TC.
(Проводник - меню Сервис - Свойства папки - Типы файлов - Папка с файлами - Дополнительно - Создать - Действие: Open in TC - Приложение: C:\Programs\Totcmd\totalcmd.exe /O /S /T "%1" - Ok - Кнопка По умолчанию - Ок)
Работает и в uTorrent, но со странностью:
При двойном клике на торренте в списке он открывается в TC как надо. Но при этом uTorrent подвисает секунд на 10-15, а потом выполняет OpenInTC.cmd (а непропатченный - открывает стандартную папку).
P.P.S. Удаляется назначенное действие для всех папок Windows с помощью редактора реестра, удалением ключа Open_in_TC в HKEY_CLASSES_ROOT\Directory\Shell\
Нужен ответ на конкретный вопрос
Добавлено: Чт фев 20, 2014 23:35
Makhouni
Как сделать, что бы папки (из любой программы и проводника) всегда открывались через TC ?
windows 7 x64
Re: Нужен ответ на конкретный вопрос
Добавлено: Пт фев 21, 2014 00:39
MVV
Makhouni писал(а):Как сделать, что бы папки (из любой программы и проводника) всегда открывались через TC ?
Древнейшая тема поведает древнейший секрет.
Re: Нужен ответ на конкретный вопрос
Добавлено: Пт фев 21, 2014 00:56
Makhouni
MVV писал(а):Древнейшая тема поведает древнейший секрет.
p.s: в сарказме тебе нет равных.
Добавлено: Пт фев 21, 2014 01:11
Avada
Makhouni
Закрытие
этой темы, как погляжу, на пользу не пошло? OK, тогда
повторное замечание за то же самое. Всплывёт этот вопрос снова где-то ещё — посты будут удаляться без всяких дальнейших предупреждений и дискуссий.
Добавлено: Пт фев 21, 2014 13:48
CaptainFlint
[mod="CaptainFlint"]Аккаунт Makhouni заблокирован за хамство и принципиальное нежелание соблюдать правила ресурса, даже после нескольких предупреждений.[/mod]