Страница 34 из 243

Добавлено: Пт сен 14, 2012 14:13
KopBuH
спасибо, теперь всё работает)
вот бы еще проверку ServicePack'а прикрутили :roll:

Добавлено: Вс окт 14, 2012 17:33
KopBuH
есть еще одна вещь, которую хотелось бы видеть в плагине:
это переменная с PID текущего процесса TotalCmd.exe.

Добавлено: Вт окт 16, 2012 12:22
Loopback
KopBuH писал(а):вот бы еще проверку ServicePack'а прикрутили
Специализированной функции точно не будет. Скорее что-нибудь универсальное для чтения реестра.
KopBuH писал(а):есть еще одна вещь, которую хотелось бы видеть в плагине:
это переменная с PID текущего процесса TotalCmd.exe.
Можно, по аналогии с AUTORUN_TCHANDLE.

Добавлено: Вт окт 16, 2012 12:27
KopBuH
Loopback писал(а): Можно, по аналогии с AUTORUN_TCHANDLE.
ура :) Ждем следующей бетки.

Добавлено: Вт окт 23, 2012 09:10
KopBuH
заметил еще такой глюк:

autorun.cfg
# Проверка архитектуры ОС
If %AUTORUN_OSARCH% == 64 Then
SetEnv COMMANDER_OSARCH x64
ElseIf %AUTORUN_OSARCH% == 32 Then
SetEnv COMMANDER_OSARCH x86
EndIf

на Win8 x64 Pro все равно определяет битность ОС как x86
ну, и конечно хорошо бы добавить определение Win8
%AUTORUN_OSVERSION% == WIN_8

Добавлено: Вт окт 23, 2012 09:52
MVV
Думаю, пора уже выносить эту кучу псевдопеременных в подплагин, чтобы не надо было каждый раз обновлять сам плагин, чтобы добавить новую или исправить имеющиеся... Там их, кстати, можно даже сделать обычными переменными окружения, с которыми потом можно будет работать далее.

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

А насчёт AUTORUN_OSVERSION - надо сделать, чтобы переменная возвращала числовое значение версии, если не может его опознать (например, 6.2W для рабочей станции, или 6.2S для серверной). Тогда этим можно будет пользоваться на неизвестных версиях винды (глядишь, через годик Windows 9 выпустят... сейчас мода пошла на накрутку номеров версий).

Добавлено: Ср окт 24, 2012 18:25
Loopback
MVV писал(а):Думаю, пора уже выносить эту кучу псевдопеременных в подплагин, чтобы не надо было каждый раз обновлять сам плагин, чтобы добавить новую или исправить имеющиеся... Там их, кстати, можно даже сделать обычными переменными окружения, с которыми потом можно будет работать далее.
Все эти переменные, за исключением, может, версии винды - одна-две строчки кода, и эти данные так или иначе используются плагином. Нет смысла делать еще дополнительные плагины для этого. Модульность, конечно, хорошо, но до разумных пределов.

Если будет нужно организовать действительно что-то сложное, а главное - малоиспользуемое, то можно и задуматься о плагине.
MVV писал(а):И вообще, не надо плодить псевдопеременные. К псевдопеременным нужно прибегать только в случае, когда они возвращают различное значение в зависимости от определенных условий (например, случайное число - каждый раз новое значение). Если же значение переменной неизменно (версия винды, например - она явно не изменится, пока тотал запущен), спокойно можно добавить её как обычную переменную окружения, головной боли в разы меньше.
Если бы плагин работал напрямую с переменными окружения (как батник), это имело бы смысл. Но он оперирует переменными.

И это даже не псевдопеременные, а константы. И обрабатываются они совершенно одинаково. Впрочем, если нужно будет реализовать именно псевдопеременную, обработка вполне может быть реализована тем же механизмом.
MVV писал(а):А насчёт AUTORUN_OSVERSION - надо сделать, чтобы переменная возвращала числовое значение версии, если не может его опознать (например, 6.2W для рабочей станции, или 6.2S для серверной). Тогда этим можно будет пользоваться на неизвестных версиях винды (глядишь, через годик Windows 9 выпустят... сейчас мода пошла на накрутку номеров версий).
Вот с этим согласен. Вместо UNKNOWN вполне можно выводить числовое значение.

Добавлено: Чт окт 25, 2012 21:54
sEXEcutor
В некоторых внутренних ассоциациях я пользуюсь командой "%COMMANDER_EXE%" /S=L "%1" для открытия файла в Листере. Как оказалось, ShellExec срабатывает каждый раз, когда Листер вызывается таким образом. Можно ли добавить проверку, чтобы не вызывать ShellExec повторно во время одной сессии TC?

Добавлено: Пт окт 26, 2012 09:40
MVV
Откуда же плагин может знать, с какой целью запущен тотал?

Создай второй wincmd.ini без плагинов (разве что листерные оставь) и запускай второй экземпляр тотала с этим INI с помощью ключа /i=путь_к_ini. Чем меньше лишнего будет в этом конфиге, тем быстрее будет открываться этот отдельный листер.

Можешь даже для секции ListerPlugins в альтернативном конфиге редирект сделать на основной wincmd.ini, тогда плагины всегда будут одни и те же. Думаю, такого конфига вполне хватит (поправь путь к основному конфигу, если у тебя другой):

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

[Configuration]
AlternateUserIni=%COMMANDER_PATH%\wincmd.ini
[ListerPlugins]
RedirectSection=%COMMANDER_PATH%\wincmd.ini

Добавлено: Пт окт 26, 2012 14:59
sEXEcutor
MVV писал(а):Откуда же плагин может знать, с какой целью запущен тотал?
Разве из плагина нельзя видеть параметры, с которыми запущен TC?

Так или иначе, RedirectSection хороший вариант, спасибо.

Добавлено: Сб окт 27, 2012 13:08
Flasher
sEXEcutor
Можно также открывать через программу Lister.exe, а если не отдельным процессом, то так.

Добавлено: Вт окт 30, 2012 13:01
Loopback
Пятая бета.

Скачать

В этой версии поменялся API плагинов. Теперь можно добавлять переменные и функции, возвращающие результат. Наверняка, он еще будет меняться. Также добавил исходник тестового плагина.

Сделана эта версия была довольно давно, и долгое время проработала у меня без проблем, но все же вполне могут быть новые косяки.

KopBuH
Определение восьмерки добавил. Но проверить архитектуру пока не могу за отсутствием установленной восьмерки.

Добавлено: Чт ноя 01, 2012 17:15
Loopback
KopBuH писал(а):заметил еще такой глюк:
Поставил восьмерку (x64 Pro) в виртуалку. Опуская лирику (по большей части матерную) касаемо нового интерфейса, могу сказать, что косяк не наблюдаю, все определяется верно.

Добавлено: Ср ноя 07, 2012 16:42
Loopback
Шестая бета.

Скачать

Что нового:

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

+ возможность использования полноценных условий сравнения
+ возможность использования специальных функций в сравнении
+ плагин Process (работа с процессами)
* изменения в языковом файле
Второй и третий пункты подразумевают добавление востребованного функционала по определению запущенности процесса.

Добавлено: Чт ноя 08, 2012 18:03
Loopback
Седьмая бета.

Скачать

Изменения:

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

+ возможность выполнения действий при закрытии TC
+ добавлена функция ProcessTerminate в плагин Process
+ файл конфигурации может быть ANSI или UTF-16(LE).
- исправлена проблема с ShellExec в определенных условиях