Autorun

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

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

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

Сообщение MVV »

Flasher,
Да, выбрать. А подплагин написать можно и без участия автора основного плагина. :) А если в списке будут действительно полезные вещи, возможно, их даже включат в стандартный подплагин.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
Тебя не поймёшь, то "подплагин может писать и автор плагина, у него код есть", то без участия. SysInfo должно быть достаточно, туда и предлагалось всё это заносить. Бесполезные в рамках автозагрузки вещи постараемся не трогать.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher,
Ты списочек-то пиши. :) А там разберемся, куда их включать - в отдельный плагин или в SysInfo. Я лишь имел в виду, что для того чтобы добавить в Autorun новые переменные, необязательно ждать автора, можно написать подплагин и своими силами.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

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

Сообщение Flasher »

Loopback
Что-то мне подсказывает, что синтаксис в варианте "создать одну функцию" будет посложнее. Можно предварительные примеры синтаксиса обоих вариантов?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher
Первый вариант - набор переменных с префиксом SYSINFO_.

Второй - примерно так:

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

SystemParametersInfo VAR <индекс параметра> [<субиндекс>]
Индекс параметра - число, соотвествующее константе SPI_***.
Субиндекс - возможно и не понадобится. Для случаев, если функция возвращает структуру с несколькими элементами.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Второй, в общем-то, устроит.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Второй, в общем-то, устроит.
Меня тоже.

Посмотрел функцию внимательнее, в принципе, большинство параметров имеет булев или целый тип, а значит могут быть обработаны одинаково. А из пары десятков нестандартных - полезных единицы.

Собственно, тут больше проблема в том, что некоторые полезные параметры не поддерживаются на младших версиях ОС, и при попытке их получить функция сообщает о неуспехе операции. А в других версиях тот же параметр получается успешно.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):некоторые полезные параметры не поддерживаются на младших версиях ОС
А младшие - это какие?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher
2000/XP.

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

Сообщение Flasher »

Loopback
Да что угодно (Empty/False). Знать бы только заранее, какие параметры не поддерживаются.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Сегодня собрал WinPE 4.0 (на базе Win8) с оболочкой в виде TC.
я был рад, когда увидел что плагин корректно определил, что это Win8 :D .
правда, выдал одну ошибку на этот код скрипта:

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

ProcessExecGetOutput /EV /OEM USERSID cscript.exe '//Nologo "%commander_path%\Macroses\systeminfo_usersid.vbs"' '%commander_path%'
потом понял, что в PE просто нет cscript.exe :) , да и получение SID не так уж важно.

какие планы на будущее, Loopback 8) ?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

KopBuH
Я бы пока не хотел планировать слишком далеко вперед. По плану, что надо сделать до релиза:

-Справку в html или chm
-Немного доработать API (уйти от фиксированного буфера)
-Оптимизировать сообщения об ошибках, несколько по-сути повторяют друг-друга.
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Loopback:
есть проблемка: (пример)

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

Pragma AutorunFinalizeSection
IniWrite /EV "%COMMANDER_PATH%\wincmd.ini" "WLan" "WLanProfile" "%COMMANDER_WLAN%"
при запуске ТС через сеть, из общей папки только для чтения - при закрытии ТС выдаются сообщения от Autorun типо: "строка такая-то, невозможно записать информацию в ini файл".
как можно подавить выдачу таких сообщений при работе через сеть, или с защищенного диска?.

пытаюсь решить так:

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

IniRead SaveTemplateSettings "%COMMANDER_PATH%\wincmd.ini" "Configuration" "SaveTemplateSettings" "0"

If %SaveTemplateSettings% = 1 Then
  IniWrite /EV "%COMMANDER_PATH%\wincmd.ini" "WLan" "WLanProfile" "%COMMANDER_WLAN%"
EndIf
не получается...
значение SaveTemplateSettings в wincmd.ini стоит 0, но при закрытии ТС все равно выходят ошибки записи в файл.

Добавлено спустя 25 минут:

могу конечно решить сохранение настроек через nircmd, но ведь это не выход...
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

KopBuH
Суть проблемы понятна, вечером посмотрю. Полагаю, надо будет отключить вывод сообщения, и заменить каким-то тихим аналогом, вроде макроса @error в Autoit.
Ответить