Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Открыть новую вкладку в текущем окне
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Wed Jun 23, 2010 02:19    Post subject: Re: Открыть новую вкладку в текущем окне Reply with quote

DoctorIkari wrote:
Суть: пропатчил файл uTorrent.exe чтобы возможно было перходить в тотал по меню "Открыть папку".

можешь рассказать как ты нашёл пункт "Открыть папку" и в какой программе ты его искал?
мои действия:
распаковал utorrent с помощью upx, открыл ResHack'ом и пытался найти что-то напоминающее "explorer", но увы не нашёл.. может плохо искал?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 07:42    Post subject: Re: Открыть новую вкладку в текущем окне Reply with quote

DoctorIkari wrote:
MVV, ты в чем просматривал файл?

Я привык к WinHex и пользуюсь только им.

laburj wrote:
мои действия:
распаковал utorrent с помощью upx, открыл ResHack'ом и пытался найти что-то напоминающее "explorer", но увы не нашёл.. может плохо искал?

Надо было открывать не ресурс хакером, а hex-редактором. Искомые строки находятся в секции данных, а не в секции ресурсов.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Wed Jun 23, 2010 12:16    Post subject: Reply with quote

MVV, а не мог бы поподробнее рассказать как и что ты искал в winHex'e и в последствии на что заменял?
а также как сравнивал 2 файла в winHex'e?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 12:59    Post subject: Reply with quote

laburj wrote:
MVV, а не мог бы поподробнее рассказать как и что ты искал в winHex'e и в последствии на что заменял?
а также как сравнивал 2 файла в winHex'e?

Сравнивать можно просто в тотале. А в винхексе можно сравнивать и одновременно править, при этом можно сравнивать файлы с разных позиций (но кратных ширине строки) - для этого грузишь два файла и выбираешь View - Synchronize & Compare.

К сожалению, винхекс не позволяет править юникод-строки в текстовом виде, как некоторые hex-редакторы.

Открываешь распакованный файл в винхексе, жмешь Find Text, вводишь explorer.exe и выбираешь Unicode. Найдешь два места, где прописан explorer.exe - они рядом расположены. Далее нужно аккуратно прописать поверх строки explorer.exe новую строку (автор темы прописывал open.lnk) - необходимо уместиться в длину исходной строки. В юникод-строках каждый символ занимает два байта, английские символы кодируются как сам символ и за ним нулевой байт - поэтому все английские юникод-строки выглядят как текстовые строки, где после каждого символа идет нулевой байт - так их и надо оставить, и обязательно в конце два нулевых байта для завершения строки. То есть, исходная строка explorer.exe длиной 12 символов плюс завершающий нулевой (или 26 байт):
Code:
65 00  78 00  70 00  6C 00  6F 00  72 00  65 00  72 00  2E 00  65 00  78 00  65 00  00 00
e      x      p      l      o      r      e      r      .      e      x      e      _

(подчерком я обозначил нулевой символ)

Прописываем поверх этой строки, скажем, строку open.lnk длиной 8 символов плюс нулевой (18 байт):
Code:
6F 00  70 00  65 00  6E 00  2E 00  6C 00  6E 00  6B 00  00 00
o      p      e      n      .      l      n      k      _

Прописывать новые значения можно как в столбце текста, так и в столбце hex-значений (например, нулевой байт можно прописать только в нем).
А остаток исходной строки (там еще будут символы exe и нулевые байты) можно оставить без изменения, так как мы и так прервали строку нулевым символом (то есть, двумя нулевыми байтами).
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Wed Jun 23, 2010 13:33    Post subject: Reply with quote

MVV, спасибо огромное за такое подробное разъяснение!
подправил свой utorrent и теперь открывает папку в новой папке текущей панели

ярлык таков:
C:\totalcmd\TOTALCMD.EXE /O /S /T


пс. правда одно НО! :
Если торрент содержал один лишь файл, без папки, то в тотале его папка не открывается, а только лишь активируется тотал.


Last edited by laburj on Wed Jun 23, 2010 14:28; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 23, 2010 14:16    Post subject: Reply with quote

laburj
Нет такого ключа /L, есть ключ /L=<путь>, и восприниматься он будет Тоталом в данной команде как исходный каталог. См. справку.
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Wed Jun 23, 2010 14:28    Post subject: Reply with quote

Flasher
случайно добавил, copy-paste подвёл
но всё равно проблему не решает
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 23, 2010 14:38    Post subject: Reply with quote

laburj
Да как же он будет открывать ТС в нужной папке и ставить курсор на нужный файл, если не задан сам путь к файлу? См. как я писал во втором посте. Сразу пишу, что пока свой utorrent не патчил, поэтому точно сказать не могу, что даёт специальный параметр utorrent-a "%s", я его понимаю как вставку полного пути в комстроке, как в случае с ТС это был бы %P%N.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 15:19    Post subject: Reply with quote

Я проверял с батником. Если исправлять только путь к explorer.exe, то параметры, передаваемые ярлыку (или батнику), будут такими:
Code:
/select,"X:\путь\к\папке"

Такой параметр будет передаваться ярлыку при выборе команды перехода в контекстном меню торрента из одного файла, а также при выборе команды перехода в контекстном меню любого файла в списке файлов торрента. А команда перехода из контекстного меню торрента-папки передает просто путь к папке. Поэтому надо еще подправить строчку файла, содержащую этот самый /select. Это единственная строка файла /select,"%s", и ее нужно исправить на просто "%s" (она тоже в юникоде, поэтому после каждого символа нужен нулевой байт, а в конце - два). После корректировки мюторрент будет передавать ярлыку просто полный путь к файлу или папке в кавычках.

Quote:
Нет такого ключа /L, есть ключ /L=<путь>, и восприниматься он будет Тоталом в данной команде как исходный каталог. См. справку.

Кстати, хорошо, что тотал понимает и просто путь в командной строке, без /L=. Поэтому в ярлык можно написать просто TOTALCMD.exe /O /S /T, а мюторрент при запуске ярлыка будет указывать дополнительный параметр - путь к файлу/папке - и тотал будет прыгать к объекту в новой вкладке активной панели запущенного тотала - собственно, такие параметры и используются в описанном выше ярлыке. А вот с неактивной панелью такой фокус уже не пройдет, придется менять в мюторренте описанную выше строчку на /R="%s", или же ярлыком запускать батник, который будет передавать тоталу параметр /R=%1.
Quote:
Сразу пишу, что пока свой utorrent не патчил, поэтому точно сказать не могу, что даёт специальный параметр utorrent-a "%s", я его понимаю как вставку полного пути в комстроке, как в случае с ТС это был бы %P%N.

Здесь строка /select,"%s" - форматная строка функции построения строк по формату (например, есть стандартная системная функция wsprintf), и %s означает, что параметр является строковым - в этом параметре мюторрент и передает функции путь к файлу/папке.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Wed Jun 23, 2010 16:08; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 23, 2010 16:05    Post subject: Reply with quote

MVV wrote:
Это единственная строка файла /select,"%s", и ее нужно исправить на просто "%s"
Пока разницы в эффекте не почувствовал.
MVV wrote:
Кстати, хорошо, что тотал понимает и просто путь в командной строке, без /L=. Поэтому в ярлык можно написать просто TOTALCMD.exe /O /S /T, а мюторрент при запуске ярлыка будет указывать дополнительный параметр - путь к файлу/папке - и тотал будет прыгать к объекту в новой вкладке активной панели запущенного тотала
Фактически уже начал писать об этом, опередил, только вот прыжка не наблюдается.
MVV wrote:
Здесь строка /select,"%s" - форматная строка функции построения строк по формату (например, есть стандартная системная функция wsprintf), и %s означает, что параметр является строковым - в этом параметре мюторрент и передает функции путь к файлу/папке.
Тем не менее, как оказалось и без него всё работает. Вот только с перескоком-то что делать?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 16:11    Post subject: Reply with quote

Чтобы переход к файлу или папке работал на ура, необходимо пропатчить строку /select,"%s" файла - у меня после изменения этой строки на "%s" все работает на ура. Как вариант, можно просто поставить в этой строке пробел вместо запятой - тогда ТК при запуске проигнорит параметр /select, а следующий за ним путь откроет в панели. Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Wed Jun 23, 2010 16:11    Post subject: Reply with quote

Flasher wrote:
MVV писал(а):Это единственная строка файла /select,"%s", и ее нужно исправить на просто "%s"Пока разницы в эффекте не почувствовал.

я тоже увы не разницы не заметил, файлы мюторрента как не открывались в торренте, так и не открываются, только папки.

MVV wrote:
Как вариант, можно просто поставить в этой строке пробел вместо запятой - тогда ТК при запуске проигнорит параметр /select, а следующий за ним путь откроет в панели.

так тоже пробовал, но увы всё по прежнему
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 16:23    Post subject: Reply with quote

Ну, ребята, не знаю, у меня работает правильно. Попробуйте прописать в свойства ярлыка не тотал с параметрами, а чисто бат-файл без параметров:
Code:
@echo off
echo %*
pause
cls

Тогда он будет показывать параметр, с которым его запустил мюторрент. Во всех случаях показывать должно лишь полное имя файла/папки в кавычках.
Мюторрент точно тот патчите? Перезапускаете? Very Happy

Изменял я строку:
Code:
2F 00  73 00  65 00  6C 00  65 00  63 00  74 00  2C 00  22 00  25 00  73 00  22 00  00 00
/      s      e      l      e      c      t      ,      "      %      s      "      _

И прописывал поверх нее строку:
Code:
22 00  25 00  73 00  22 00  00 00
"      %      s      "      _


А с просто пробелом вместо запятой попробовал - не так работает, как ожидалось, факир был нетрезв.

Quote:
Тем не менее, как оказалось и без него всё работает.

Без него не работает. Smile Если, конечно, он - это параметр %s в форматной строке. А просто так абы где (например, в свойствах ярлыка) его указывать и не получится.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 23, 2010 16:51    Post subject: Reply with quote

А я просто дЭлю строки в текстовом режиме
Code:
/.s.e.l.e.c.t.,.
Это не то же самое?
MVV wrote:
А просто так абы где (например, в свойствах ярлыка) его указывать и не получится.
Указать-то получится, только толку от него - ноль. Smile

Last edited by Flasher on Wed Jun 23, 2010 16:58; edited 2 times in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 23, 2010 16:55    Post subject: Reply with quote

Flasher wrote:
А я просто делю строки в текстовом режиме
Code:
/.s.e.l.e.c.t.,.
Это не то же самое?

В смысле "делишь"? Каждый второй символ строки должен быть нулевым байтом (00 в hex, а в текстовом столбце он отображается в виде точки), а после последнего должно идти минимум два нулевых байта (00 00 в hex). И тебе надо поверх этой строки /select прописать строку "%s". А в столбце текста нулевой байт поставить невозможно.

Quote:
Указать-то получится, только толку от него - ноль. Smile

Это и подразумевалось. Smile
А толку от него будет ни больше ни меньше дополнительная пара символов %s.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Wed Jun 23, 2010 17:01; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group