Autorun
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
AkulaBig
Некоторый оффтоп, конечно, но откуда вы взяли, что у встроенного английского меню есть "своя встроенная панель инструментов" и что это означает?
Панелей инструментов две, для обеих есть внешние файлы (по умолчанию это, как известно, default.bar и vertical.bar), если вы при их использовании удалите или переименуете какой-то, соответствующей панели просто не будет. Выбор встроенного или другого языка/меню на общее состояние текущих панелей влиять не должен никак ни с этими файлами, ни с пользовательскими.
И пользовательские кнопки в этих панелях работать не перестают. Я с появлением команды OPENLANGUAGEFILE потому и вывел все переключения языка и меню на кнопки, что там это доступно всегда в одном и том же месте одной и той же панели при каком угодно языке и меню.
Некоторый оффтоп, конечно, но откуда вы взяли, что у встроенного английского меню есть "своя встроенная панель инструментов" и что это означает?
Панелей инструментов две, для обеих есть внешние файлы (по умолчанию это, как известно, default.bar и vertical.bar), если вы при их использовании удалите или переименуете какой-то, соответствующей панели просто не будет. Выбор встроенного или другого языка/меню на общее состояние текущих панелей влиять не должен никак ни с этими файлами, ни с пользовательскими.
И пользовательские кнопки в этих панелях работать не перестают. Я с появлением команды OPENLANGUAGEFILE потому и вывел все переключения языка и меню на кнопки, что там это доступно всегда в одном и том же месте одной и той же панели при каком угодно языке и меню.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
При переключении на внутренний английский перестали работать мои кнопки. То-есть inc не используется. Пришлось привязывать к внутреннему английскому внешнее английское mnu. Тогда все работает.Avada писал(а):AkulaBig
Извините, а словесно пояснить это нельзя? Совершенно не понял, при чём тут встроенная панель инструментов.
Добавлено спустя 4 минуты:
Не только пробовал, но и сразу-же для этого и делалось. Но только не в usercmd.ini, а в WCMD_LNG.INI. Я делаю многоязычную сборку.sa писал(а):AkulaBig
Пробовали завести em_restarttc.bar в usercmd.ini?
Уважаемые, у меня на ру-борде есть тема с моими плагинами и сборкой. Предлагаю ее там обсуждать.
AkulaBig
Ваши умозаключения про "встроенную панель" не подтверждаются абсолютно ничем, а опровергаются запросто. Я много лет слежу за форумами и могу сказать, что вы, похоже, первый, кому эта идея пришла в голову. Но она неверна. При встроенном английском или каком угодно другом языке используются панели инструментов либо из внешних файлов по умолчанию (это default.bar и vertical.bar в рабочей папке TC), либо из файлов с именами и путями, заданными в соответствующих секциях wincmd.ini ключами Buttonbar=. Если этих файлов по указанному месту нет, не будет и панелей (опять же при любом языке). По вашей логике, без внешних файлов должен был бы загружаться некий внутренний ресурс (подобно языку интерфейса и меню), но этого не происходит. Ещё раз: языковые настройки и показ панелей инструментов — это разные независимые функции (безотносительно того, что откуда подхватывается в кнопках). Почитайте справочник по ключам: может быть, будет понятнее.
Ваши умозаключения про "встроенную панель" не подтверждаются абсолютно ничем, а опровергаются запросто. Я много лет слежу за форумами и могу сказать, что вы, похоже, первый, кому эта идея пришла в голову. Но она неверна. При встроенном английском или каком угодно другом языке используются панели инструментов либо из внешних файлов по умолчанию (это default.bar и vertical.bar в рабочей папке TC), либо из файлов с именами и путями, заданными в соответствующих секциях wincmd.ini ключами Buttonbar=. Если этих файлов по указанному месту нет, не будет и панелей (опять же при любом языке). По вашей логике, без внешних файлов должен был бы загружаться некий внутренний ресурс (подобно языку интерфейса и меню), но этого не происходит. Ещё раз: языковые настройки и показ панелей инструментов — это разные независимые функции (безотносительно того, что откуда подхватывается в кнопках). Почитайте справочник по ключам: может быть, будет понятнее.
Последний раз редактировалось Avada Ср янв 08, 2025 10:36, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
AkulaBig
Давайте перейдём в ЛС, мы захламляем тему. Дайте (отдельно от всяких сборок!) пару примеров нормально оформленных пользовательских команд, которые прописаны в usercmd.ini (именно в этом универсальном файле, специально введённом для любого языка!) и при этом не выполняются при встроенном английском. Я такого пока что ни разу не встречал.
Обратная проблема, когда команда из локализованного файла типа Wcmd_rus.ini не работает со встроенным английским и много чем ещё, напротив, очень хорошо известна, только так многие годы и было. Изменилось ли тут что-то после того, как Гислер занялся не без вашего влияния в TC 11.50 обеспечением мультиязычности подсказок, надо выяснять особо (пока не могу сказать, что детально проверил всё, по новациям много другой работы).
Давайте перейдём в ЛС, мы захламляем тему. Дайте (отдельно от всяких сборок!) пару примеров нормально оформленных пользовательских команд, которые прописаны в usercmd.ini (именно в этом универсальном файле, специально введённом для любого языка!) и при этом не выполняются при встроенном английском. Я такого пока что ни разу не встречал.
Обратная проблема, когда команда из локализованного файла типа Wcmd_rus.ini не работает со встроенным английским и много чем ещё, напротив, очень хорошо известна, только так многие годы и было. Изменилось ли тут что-то после того, как Гислер занялся не без вашего влияния в TC 11.50 обеспечением мультиязычности подсказок, надо выяснять особо (пока не могу сказать, что детально проверил всё, по новациям много другой работы).
Последний раз редактировалось Avada Ср янв 08, 2025 10:57, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Помогу вам сменить тему...))
sa
Блин, я офигел, как гладко работает! Помните, была проблема с SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) и почему приходилось перерисовавыть окно ТС через TCFS2? Сейчас попробовал и поразился
И TCFS2 теперь для этого не нужен, достаточно просто зарегистрировать команду и вызывать ее по коду:
AkulaBig
Что-то я сразу упустил этот момент, но вы же сейчас можете добавить к своему коду буквально пару строк, и тем самым придать красоты и динамики заголовоку! Да и поток при этом будет выпонять еще одну полезную функцию, а не только следеить за переключением языка:
[cut][/cut]
При желании можете еще туда GetNetInterfaceInfo подключить, пример в справке есть
Sleep в начале обязателен, иначе при запуске новых копий ТС может пропадать информация о номере в заголовке. Credit to sa.)
sa
Блин, я офигел, как гладко работает! Помните, была проблема с SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) и почему приходилось перерисовавыть окно ТС через TCFS2? Сейчас попробовал и поразился
Код: Выделить всё
RegisterCommand 61002 "SwitchTestIcon"
SetEnv TEST_ICON "%COMMANDER_PATH%\Icons\Clsw\2.ico"
Func SwitchTestIcon(lParam)
Static c = false
c = (c = false ? true : false)
If c Then
# полезные действия при включении
SetEnv TEST_ICON "%COMMANDER_PATH%\Icons\Clsw\2.ico"
Else
# полезные действия при выключении
SetEnv TEST_ICON "%COMMANDER_PATH%\Icons\Clsw\6.ico"
Endif
SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
SendCommand 2945
sleep(10)
SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
WinRedraw(1)
EndFuncКод: Выделить всё
TOTALCMD#BAR#DATA
61002
%TEST_ICON%
Тест перреключения иконки
1
-1
Что-то я сразу упустил этот момент, но вы же сейчас можете добавить к своему коду буквально пару строк, и тем самым придать красоты и динамики заголовоку! Да и поток при этом будет выпонять еще одну полезную функцию, а не только следеить за переключением языка:
[cut]
Код: Выделить всё
Sleep(200)
Global StartTitle = WinGetText()
Global script = %COMMANDER_PATH% & "\Scripts\ChangeLang.vbs"
Global ini = %COMMANDER_PATH% & "\Ini\User.ini"
Global dest = "User"
RunThread ThreadWatchLang
Func ThreadWatchLang
Local sect, cpu, mls, lng1, lng2, MainMenu
lng1 = AUTORUN_TCLANG
While 1
lng2 = AUTORUN_TCLANG
If Not (lng1 = lng2) Then
Switch lng2
Case 'ENG'
sect = "[User_eng]"
Case 'RUS'
sect = "[User_rus]"
EndSwitch
ShellExec /SW_HIDE /WAIT '%windir%\system32\cscript.exe' '"%script%" "%sect%"'
CommandExec cm_ReloadBarIcons
lng1 = lng2
Else
If AUTORUN_TCLANG = 'ENG' Then
IniRead MainMenu %COMMANDER_INI% "Configuration" "Mainmenu"
If MainMenu = "" Then
CommandExec em_changelng_mnu
EndIf
EndIf
EndIf
cpu = GetCPUUsage()
If cpu < 60 Then
mls = 500
ElseIf cpu < 90 Then
mls = 700
Else
mls = 1000
EndIf
# OutputDebugString("Autorun: mls = " & mls & " lng1 = " & lng1 & " lng2 = " & lng2)
WinSetText(StartTitle & " | Memory: " & GetMemStats(0) & "% CPU: " & cpu & "%")
Sleep(mls)
Wend
EndFunc
При желании можете еще туда GetNetInterfaceInfo подключить, пример в справке есть
Давайте лучше закроем эту тему. Мне не интересно что-то доказывать. Для того, чтобы что-то доказать, мне надо кучу действий произвести. Пусть этим занимается, кто помоложе. Вот смотрите:

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

Видите, я перешел на внутренний английский, а меню осталось на русском. Представляете, сколько мне сейчас надо написать кода, чтобы начать хейтить. А кто мне за это заплатит? Не денег, а времени. Я в таком возрасте, что не могу разбрасываться временем, чтобы кому-то что-то доказывать.
AkulaBig
Как угодно. Я тоже далеко не молод, и у меня тоже есть на что потратить время. Скрин вижу. А вы чего ожидали? Меню "Запуск" никаким боком не имеет вообще никакого отношения к переключению языка, потому что это секция [user] из INI-файла, которая просто хитрым способом отображается в главном меню в одном и том же виде.
Как угодно. Я тоже далеко не молод, и у меня тоже есть на что потратить время. Скрин вижу. А вы чего ожидали? Меню "Запуск" никаким боком не имеет вообще никакого отношения к переключению языка, потому что это секция [user] из INI-файла, которая просто хитрым способом отображается в главном меню в одном и том же виде.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
