Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 133, 134, 135  Next  :| |:
Total Commander -> Плагины Total Commander

#76:  Author: Den_KlimovLocation: Ukraine.Kiev PostPosted: Wed Nov 03, 2010 04:28
    —
Flasher
Читал. И если честно, без всего этого как-то прожил десять лет на Тотале и думаю ещё столько же в принципе смогу обойтись. Smile

Ладно уж. Раз надо значит надо.
Спасибо что вообще хоть реализовали скрытие меню с твоей подсказки.

#77:  Author: FlasherLocation: Москва PostPosted: Wed Nov 03, 2010 04:36
    —
[off]
Den_Klimov wrote:
Знаю ты мну не поверишь, с учётом того что мы в теме по F4menu обсуждали, но я сторонник здорового минимализма. Smile
Не поверю уже даже больше, чем в необходимость в большом кол-ве редакторов для одного расширения. Very Happy
Den_Klimov wrote:
Читал. И если честно, без всего этого как-то прожил десять лет на Тотале и думаю ещё столько же в принципе смогу обойтись.
Это несколько противоречит предыдущему подходу к делу. Ну, как я уже и писал выше, кому надо, сам всё опробует и со временем поймёт, что уже жить без этого не может(как в случае со мной). Wink
Den_Klimov wrote:
Спасибо что вообще хоть реализовали скрытие меню с твоей подсказки.
Да там вся тема зародилась по моей идее и большинство фич также. Wink
[/off]
Ну, ок. Сворачиваем оффтопик.

#78:  Author: Loopback PostPosted: Wed Nov 03, 2010 11:10
    —
Den_Klimov wrote:
Можно ли использовать Autorun HideMenu (текущая версия 1.1.5) без TCFS2, который не использую. Достаточно ли для этого одного Autorun-а?

Можно - с оговорками. HideMenu регистрирует 4 команды. Их можно выполнить, послав окну тотала.
Если нужно, скажем, скрыть меню только один раз при запуске тотала, можно обойтись самим Autorun-ом. Достаточно добавить строку в конце конфигурации (65538 - команда скрытия меню по-умолчанию):
Code:
SendCommand 65538

Если нужно переключать динамически, то можно пользоваться скриптами. Например, в простейшем варианте на Autoit:
Code:

DllCall("user32.dll", "int", "SendMessage", "hwnd", _TCHGetActiveInstance(), "int", 0x400 + 51, "wparam", 65538, "lparam", 0)
Func _TCHGetActiveInstance()
    Local $aList = WinList("[CLASS:TTOTAL_CMD]")
    For $i = 1 To $aList[0][0]
        If WinActive($aList[$i][1]) Then Return $aList[$i][1]
    Next
    Return 0
EndFunc

Или на VBS со Script Helper (не проверял):
Code:

Option Explicit
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.SendCommand 65538
Set TCS = Nothing


Flasher wrote:
Честно говоря, не использовать TCFS2 с учётом всех нынешних его возможностей помимо основных(быстрый показ-убор комплекта оконных компонентов ТС), ИМХО, просто преступление для продвинутого пользователя ТС.

TCFS2 - отличная утилита для тех, кто хочет максимально увеличить размер окна тотала. Но ведь не всем это нужно, верно? Wink

#79:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 03, 2010 11:38
    —
Можно использовать кучу утилит для отправки тоталу команд, например, TCMC - ею тоже можно вызывать команды HideMenu.

#80:  Author: FlasherLocation: Москва PostPosted: Wed Nov 03, 2010 11:49
    —
Loopback wrote:
HideMenu регистрирует 4 команды.
Аа, вот в чём дело. Я-то думал, что это только ТС подвластно, иначе бы никакие скрипты так не работали. Тогда беру свой первый спич назад. Smile Хорошая новость и для меня.
Loopback wrote:
TCFS2 - отличная утилита для тех, кто хочет максимально увеличить размер окна тотала. Но ведь не всем это нужно, верно?
Первое предложение - неверно, второе - да.

#81:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 03, 2010 11:56
    —
Flasher wrote:
Loopback wrote:
HideMenu регистрирует 4 команды.
Аа, вот в чём дело. Я-то думал, что это только ТС подвластно, иначе бы никакие скрипты так не работали.
Ну не то чтобы регистрирует - в тотале регистрация не предусмотрена. Она просто перехватывает аналогичные сообщения, но с другими параметрами, и не передаёт оконной процедуре самого тотала. Поэтому можно любыми внешними утилитами выполнять и эти команды. Но, так как теоретически возможны коллизии, номера сделаны настраиваемыми.

Кстати о перехвате - на днях обнаружил, что с программами, написанными на Delphi, не работают стандартная системная функция сабклассинга SetWindowSubclass - программа просто рушится (причем, даже пустая форма, скомпилированная на Delphi 3 - сам проверял). Причина для меня абсолютно неясна. Поэтому остается только старый жесткий метод, при котором снять сабклассинг весьма проблематично (если кто-то ещё сабклассил окно после нас, мы убиваем все сабклассы, начиная с нашего). Поэтому HideMenu загружается однажды и остается в памяти до закрытия тотала - Autorun её выгрузить не в состоянии.

#82:  Author: Den_KlimovLocation: Ukraine.Kiev PostPosted: Thu Nov 04, 2010 03:21
    —
Flasher
Quote:
Это несколько противоречит предыдущему подходу к делу. Ну, как я уже и писал выше, кому надо, сам всё опробует и со временем поймёт, что уже жить без этого не может(как в случае со мной).

Никакого противоречия нет.
Просто я не считаю что минимализм должен быть в ущерб важному удобству и функциональности.

Loopback
MVV
Спасибо. Радостная новость.

MVV wrote:
Можно использовать кучу утилит для отправки тоталу команд, например, TCMC - ею тоже можно вызывать команды HideMenu.

Этот вариант мне больше всего нравится. Опробую. Если не затруднит, не приведёшь пример строк с командами для искомой задачи плиз?

#83:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Nov 04, 2010 13:25
    —
Den_Klimov wrote:
MVV wrote:
Можно использовать кучу утилит для отправки тоталу команд, например, TCMC - ею тоже можно вызывать команды HideMenu.

Этот вариант мне больше всего нравится. Опробую. Если не затруднит, не приведёшь пример строк с командами для искомой задачи плиз?
Дык проще некуда. Если ты не менял настроек в файле Autorun_HideMenu.ini (или он отсутствует), то номера команд берешь из Readme к Autorun_HideMenu. А дальше просто указываешь номер в параметре TCMC, например, для переключения видимости строки меню:
Code:
TCMC 65539

#84:  Author: sa PostPosted: Wed Nov 17, 2010 14:40
    —
Столкнулся с необходимостью при запуске ТК удалить несколько ключей из wincmd.ini. Вопрос к автору и всем заинтересованным. Нет ли смысла (и возможности, конечно) добавить в Autorun команду IniDelete для этой цели? А может даже и для удаления целой секции, если название ключа не указано (как в TCWSHelp, например).

#85:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 17, 2010 15:25
    —
А команду IniWrite без текста пробовал использовать? Почему-то её параметр <текст> задан в квадратных скобках...

#86:  Author: sa PostPosted: Wed Nov 17, 2010 15:40
    —
MVV wrote:
А команду IniWrite без текста пробовал использовать?

В этом случае сам ключ остаётся, а после знака равенства - просто пусто.

#87:  Author: Loopback PostPosted: Wed Nov 17, 2010 16:45
    —
sa wrote:
Нет ли смысла (и возможности, конечно) добавить в Autorun команду IniDelete для этой цели?

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

#88:  Author: sa PostPosted: Wed Nov 17, 2010 16:49
    —
Loopback wrote:
Как время появится - добавлю.

Большое спасибо!

#89:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Nov 17, 2010 17:49
    —
Думаю, можно модифицировать команду IniWrite, чтобы она удаляла ключ, если параметр <текст> не задан. А чтобы записать пустое значение, а не удалять ключ, можно указывать "" как значение этого параметра.

Кстати, теперь каждый может написать плагин для Autorun и добавить нужные команды. Smile

#90:  Author: FlasherLocation: Москва PostPosted: Wed Nov 17, 2010 18:08
    —
MVV wrote:
А чтобы записать пустое значение, а не удалять ключ, можно указывать "" как значение этого параметра.
А разве под первым предложением "без текста .. использовать" не это подразумевалось?



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 133, 134, 135  Next  :| |:
Page 6 of 135

Powered by phpBB © 2001, 2005 phpBB Group