Flasher писал(а):переменная предназначена не только для сравнения в конфиге
Autorun
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
KopBuH писал(а):вопрос: определение каких языков поддерживает SYSINFO_USERLANG?
Нет, трехбуквенные, что выдаются GetLocaleInfo с флагом LOCALE_SABBREVLANGNAME. Двухбуквенные значения по ISO, насколько я помню, можно получить только в Vista и выше.Flasher писал(а):Полагаю, из этого списка.
Забыта. Сделаю.Flasher писал(а):а как же моя просьба о нижнем регистре?
Был вопрос про языки, а не обозначения.Loopback писал(а):Нет, трехбуквенные
ОК.Loopback писал(а):Сделаю.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
KopBuH,
А у меня ругался при каждом запуске, пока не исправил. И ещё ругался на сравнение ==, хотя 1.6b1 прекрасно работала с таким:
Теперь работает только с таким (при подключенном плагине):
А у меня ругался при каждом запуске, пока не исправил. И ещё ругался на сравнение ==, хотя 1.6b1 прекрасно работала с таким:
Код: Выделить всё
If %AUTORUN_OSARCH% == 64 ThenКод: Выделить всё
If %SYSINFO_OSARCH% = 64 Thenтак сравнение по == отменили еще в b8 или 9.MVV писал(а):KopBuH,
А у меня ругался при каждом запуске, пока не исправил. И ещё ругался на сравнение ==, хотя 1.6b1 прекрасно работала с таким:Код: Выделить всё
If %AUTORUN_OSARCH% == 64 Then
я выше писал про это в топике.
и правдаMVV писал(а): Теперь работает только с таким (при подключенном плагине):Код: Выделить всё
If %SYSINFO_OSARCH% = 64 Then
но в ридми написано так:
Код: Выделить всё
%AUTORUN_OSARCH% - архитектура ОС, где работает Total Commander. Может быть 32 или 64.
%AUTORUN_OSVERSION% - версия ОС где работает Total Commander. Может принимать значения:у меня не ругался потому что:
я и незаметил, что у меня под XP архитектура "64"
хотя если переменная отсутствовала, то как значение принимало x64
?
Код: Выделить всё
If %AUTORUN_OSARCH% = 64 Then
SetEnv COMMANDER_OSARCH x64
ElseIf %AUTORUN_OSARCH% = 32 Then
SetEnv COMMANDER_OSARCH x86
EndIfхотя если переменная отсутствовала, то как значение принимало x64
С этой не так просто. У нее для разных параметров совершенно разный тип возвращаемых данных, напрямую не сделаешь.Flasher писал(а):Такую добавь, пож-та.
Там теперь указаны только те переменные, которые остались в основном плагине. И указание, что дополнительные системные константы реализованы в плагине.MVV писал(а):Я уже писал, что в Readme не исправлено.
А сами переменные перечислены в разделе плагинов для Sysinfo.
Когда справку в html переделаю, можно будет внутреннюю ссылку сделать.
Как бы зарегистрировать библиотеку?
Прилагаемый к программе батник по регистрации выглядит следующим образом:
Чтобы разрегистрировать:
У меня 64-битная ОСь, здесь мне непонятно, почему regsvr32 из system32, а не из Syswow64 регистрирует 64-битную библиотеку...
Необходимо выполнить команду по регистрации нужной мне библиотеки.
Что-то такое:
не работает.
Я так понимаю, не знает %COMMANDER_PATH%, но как быть тогда
, цель - портабельность.
При выгрузке TC желательно библиотеку разрегистрировать.
Прилагаемый к программе батник по регистрации выглядит следующим образом:
Код: Выделить всё
%systemroot%\system32\regsvr32 /s redist\x64\TextCaptureLib.dll
%SystemRoot%\Syswow64\regsvr32 /s redist\x86\TextCaptureLib.dllКод: Выделить всё
%systemroot%\system32\regsvr32 /u redist\x64\TextCaptureLib.dll
%SystemRoot%\Syswow64\regsvr32 /u redist\x86\TextCaptureLib.dllНеобходимо выполнить команду по регистрации нужной мне библиотеки.
Что-то такое:
Код: Выделить всё
ShellExec '%systemroot%\system32\regsvr32' '%COMMANDER_PATH%\SOFT\TextCatch\redist\x64\TextCaptureLib.dll'Я так понимаю, не знает %COMMANDER_PATH%, но как быть тогда
При выгрузке TC желательно библиотеку разрегистрировать.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
ask-rus,
Оригинальные умы Microsoft вместо добавления папки System64 для 64-битной подсистемы придумали редирекцию: папка 64-битной подсистемы называется System32, а 32-битной - SysWow64, которая в 32-битном окружении подставляется вместо System32. Батник в таком виде будет работать только при запуске из 64-битной среды. В 32-битной обе папки (System32 и SysWow64) указывают на 32-битную подсистему.
Исходя из комстроки regsvr32, параметр /s отключает сообщения об ошибках, параметр /c позволяет зарегистрировать/разрегистрировать библиотеку только для данного пользователя (плюс к портабельности, т.к. не нужны права админа), параметр /u указывает, что нужно разрегистрировать библиотеку.
Т.о., в Autorun.cfg должно быть примерно следующее:
Оригинальные умы Microsoft вместо добавления папки System64 для 64-битной подсистемы придумали редирекцию: папка 64-битной подсистемы называется System32, а 32-битной - SysWow64, которая в 32-битном окружении подставляется вместо System32. Батник в таком виде будет работать только при запуске из 64-битной среды. В 32-битной обе папки (System32 и SysWow64) указывают на 32-битную подсистему.
Исходя из комстроки regsvr32, параметр /s отключает сообщения об ошибках, параметр /c позволяет зарегистрировать/разрегистрировать библиотеку только для данного пользователя (плюс к портабельности, т.к. не нужны права админа), параметр /u указывает, что нужно разрегистрировать библиотеку.
Т.о., в Autorun.cfg должно быть примерно следующее:
Код: Выделить всё
LoadLibrary Plugins\Autorun_SysInfo.dll
If %SYSINFO_OSARCH% = 64 Then
SetEnv X__ 64
Else
SetEnv X__ 32
EndIf
ShellExec '%SystemRoot%\System32\regsvr32.exe' '/c /s "%COMMANDER_PATH%\SOFT\TextCatch\redist\x%X__%\TextCaptureLib.dll"'
Pragma AutorunFinalizeSection
ShellExec '%SystemRoot%\System32\regsvr32.exe' '/u /c /s "%COMMANDER_PATH%\SOFT\TextCatch\redist\x%X__%\TextCaptureLib.dll"'Ask-rus
сделай так:
ShellExec /EV 'программа.exe' '%COMMANDER_PATH%\dll.dll'
а за пример возьми пост MVV
P.S.: опоздал чуток от Loopback
сделай так:
ShellExec /EV 'программа.exe' '%COMMANDER_PATH%\dll.dll'
а за пример возьми пост MVV
P.S.: опоздал чуток от Loopback
Последний раз редактировалось KopBuH Пн янв 21, 2013 15:53, всего редактировалось 2 раза.