Страница 35 из 243
Добавлено: Чт ноя 08, 2012 18:06
ask-rus
Loopback писал(а):+ возможность выполнения действий при закрытии TC
Ух ты! Как вовремя, спасибо.
Добавлено: Пт ноя 09, 2012 15:11
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
Добавлено: Пт ноя 09, 2012 18:56
MVV
Тотал закрывается с ошибкой? Или просто модуль пишет ошибку, но тотал работает? По логике модуль должен сообщить об ошибке, но не закрывать тотал.
Кстати, из DllMain вызывать MessageBox нельзя, может случиться, что его невозможно закрыть.
Добавлено: Сб ноя 10, 2012 08:52
KopBuH
если в конфиге оставить условие сравнения по старому, то есть символом ==, то при запуске ТС выдает такое:

версия ТС 8.01 Final.
Добавлено: Сб ноя 10, 2012 21:11
ask-rus
Loopback
Я не уверен, что у меня выполняется некоторая команда... Замечаний не будет?
Код: Выделить всё
ShellExec %COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe /ef "set_tcini(TCFS2, Bar, 1)"
Добавлено: Сб ноя 10, 2012 21:20
Flasher
Замечания очевидны:
ShellExec "%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe" "/ef set_tcini(TCFS2,Bar,1)"
Добавлено: Сб ноя 10, 2012 21:41
ask-rus
Flasher писал(а):Замечания очевидны:
TCFS2 так не работает, а вот так тем более:
ShellExec "%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe" "/ef "set_tcini(TCFS2,Bar,1)""
Добавлено: Сб ноя 10, 2012 21:45
Flasher
Так, стоп, а при чём тут TCFS2, когда есть команда IniWrite, её и использовать.
Добавлено: Сб ноя 10, 2012 21:46
MVV
Если надо в параметрах запуска TCFS2 (и т.д.) писать кавычки, вместо внешних кавычек надо указывать апострофы - это написано в справке по Autorun.
Если в параметре команды должен использоваться пробел, оберните параметр в кавычки - двойные или одинарные. При этом кавычки другого типа могут быть использованы в тексте параметра. Смешанные кавычки в тексте не поддерживаются.
Т.е.:
Код: Выделить всё
ShellExec '%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe' '/ef "set_tcini(TCFS2,Bar,1)"'
Добавлено: Сб ноя 10, 2012 21:48
Flasher
MVV
У меня мои команды с TCFS2 работают и с обычными кавычками. Апострофы тоже используются, только для скриптов AutoIt/AHK. Кстати, в твоей команде кавычки лишние (там не пробелов).
Добавлено: Сб ноя 10, 2012 21:52
MVV
Знаю, что нет пробелов, но это пример, показывающий, как правильно использовать кавычки. И потом, худым не будет заключать каждую команду в кавычки - вдруг случайно поставишь пробел после запятой в списке параметров...
Вот завалялся ещё один пример использования кавычек разного типа:
Код: Выделить всё
ShellExec /SW_HIDE /EV "reg.exe" 'export "HKEY_CURRENT_USER\Environment" "%commander_path%\Data\Total.reg"'
Добавлено: Сб ноя 10, 2012 21:56
Flasher
Пример команды, которая давно и исправно работает без апострофов:
Код: Выделить всё
ShellExec "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" "/d=0 /ei run redraw"
MVV писал(а):вдруг случайно поставишь пробел
Копипаст избавляет от случайностей.

Добавлено: Сб ноя 10, 2012 21:56
ask-rus
Команда с апострофами работает,
и проблема исчезла.
Добавлено: Сб ноя 10, 2012 22:03
Flasher
Ну, неужели лень-матушка и в
такой мелочёвке свою роль сыграла?
Добавлено: Сб ноя 10, 2012 22:24
ask-rus
Плагином грузил библиотеки, да шрифты - не вникал во всю его суть (апострофы, IniWrite), сомневался в TCFS2, в себе, нужно ли было выжидать 15 секунд, когда выгрузятся копии в Диспетчере или ещё что-нибудь.