Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Loopback писал(а):+ возможность выполнения действий при закрытии TC
Ух ты! Как вовремя, спасибо.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Loopback:
спасибо, теперь всё работает и в Win8 с таким кодом:

# Проверка версии ОС
If %AUTORUN_OSVERSION% = WIN_XP Then
SetEnv COMMANDER_OSVER "Windows XP"
ElseIf %AUTORUN_OSVERSION% = WIN_2003 Then
SetEnv COMMANDER_OSVER "Windows Server 2003"
ElseIf %AUTORUN_OSVERSION% = WIN_VISTA Then
SetEnv COMMANDER_OSVER "Windows Vista"
ElseIf %AUTORUN_OSVERSION% = WIN_2008 Then
SetEnv COMMANDER_OSVER "Windows Server 2008"
ElseIf %AUTORUN_OSVERSION% = WIN_2008R2 Then
SetEnv COMMANDER_OSVER "Windows Server 2008R2"
ElseIf %AUTORUN_OSVERSION% = WIN_7 Then
SetEnv COMMANDER_OSVER "Windows Seven"
ElseIf %AUTORUN_OSVERSION% = WIN_8 Then
SetEnv COMMANDER_OSVER "Windows 8"
ElseIf %AUTORUN_OSVERSION% = WIN_2012 Then
SetEnv COMMANDER_OSVER "Windows Server 2012"
Else
SetEnv COMMANDER_OSVER "%AUTORUN_OSVERSION%"
EndIf


P.S. (для людей) Если оставить условие сравнения по старому, то есть:
If %AUTORUN_OSVERSION% == WIN_XP Then
то при запуске ТС будет закрыватся с ошибкой.
при переходе на 7 бету увидел, что теперь сравнение производится одним знаком "равно", то есть так:
If %AUTORUN_OSVERSION% = WIN_XP Then
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Тотал закрывается с ошибкой? Или просто модуль пишет ошибку, но тотал работает? По логике модуль должен сообщить об ошибке, но не закрывать тотал.

Кстати, из DllMain вызывать MessageBox нельзя, может случиться, что его невозможно закрыть.
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

если в конфиге оставить условие сравнения по старому, то есть символом ==, то при запуске ТС выдает такое:
Изображение
версия ТС 8.01 Final.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Loopback
Я не уверен, что у меня выполняется некоторая команда... Замечаний не будет?

Код: Выделить всё

ShellExec %COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe /ef "set_tcini(TCFS2, Bar, 1)"
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Замечания очевидны:
ShellExec "%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe" "/ef set_tcini(TCFS2,Bar,1)"
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Flasher писал(а):Замечания очевидны:
TCFS2 так не работает, а вот так тем более:
ShellExec "%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe" "/ef "set_tcini(TCFS2,Bar,1)""
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так, стоп, а при чём тут TCFS2, когда есть команда IniWrite, её и использовать.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Если надо в параметрах запуска TCFS2 (и т.д.) писать кавычки, вместо внешних кавычек надо указывать апострофы - это написано в справке по Autorun.
Если в параметре команды должен использоваться пробел, оберните параметр в кавычки - двойные или одинарные. При этом кавычки другого типа могут быть использованы в тексте параметра. Смешанные кавычки в тексте не поддерживаются.
Т.е.:

Код: Выделить всё

ShellExec '%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe' '/ef "set_tcini(TCFS2,Bar,1)"'
Последний раз редактировалось MVV Сб ноя 10, 2012 21:50, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
У меня мои команды с TCFS2 работают и с обычными кавычками. Апострофы тоже используются, только для скриптов AutoIt/AHK. Кстати, в твоей команде кавычки лишние (там не пробелов).
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Знаю, что нет пробелов, но это пример, показывающий, как правильно использовать кавычки. И потом, худым не будет заключать каждую команду в кавычки - вдруг случайно поставишь пробел после запятой в списке параметров...

Вот завалялся ещё один пример использования кавычек разного типа:

Код: Выделить всё

ShellExec /SW_HIDE /EV "reg.exe" 'export "HKEY_CURRENT_USER\Environment" "%commander_path%\Data\Total.reg"'
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Пример команды, которая давно и исправно работает без апострофов:

Код: Выделить всё

ShellExec "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" "/d=0 /ei run redraw"
MVV писал(а):вдруг случайно поставишь пробел
Копипаст избавляет от случайностей. :wink:
Последний раз редактировалось Flasher Сб ноя 10, 2012 21:56, всего редактировалось 1 раз.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Команда с апострофами работает, и проблема исчезла.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ну, неужели лень-матушка и в такой мелочёвке свою роль сыграла?

Код: Выделить всё

IniWrite /EV %COMMANDER_INI% TCFS2 Bar 1
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Плагином грузил библиотеки, да шрифты - не вникал во всю его суть (апострофы, IniWrite), сомневался в TCFS2, в себе, нужно ли было выжидать 15 секунд, когда выгрузятся копии в Диспетчере или ещё что-нибудь.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Ответить