; Параметр в поле Команда: "%COMMANDER_EXE%"
$hWnd = WinActive("[CLASS:TTOTAL_CMD]")
If $hWnd Then
WinClose($hWnd)
ProcessWaitClose(WinGetProcess($hWnd))
If @OSArch = 'x86' Or (StringRight($CmdLine[1], 6) = '64.exe') Then
Run($CmdLine[1])
Else
Run(StringLeft($CmdLine[1], StringLen($CmdLine[1])-4) & '64.exe')
EndIf
EndIf
Первый, морально устарел, конечно. Давно его не юзаю. Пошёл в итоге по пути команд TCFS2.
Последний раз редактировалось Flasher Вт мар 05, 2019 16:00, всего редактировалось 3 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Да, у меня два скрипта: твой для перезапуска и упомянутый выше для смены битности. Впрочем, по мере появления, как видишь, рассматриваю и другие варианты. А твой свежий вариант скрипта перезапускает TC, но битность не меняет.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Avada
Ну, да, не меняет. А профит в чём? Для тестов?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Не понял. Ты предлагаешь скрипт на замену последнему из двух, который для смены битности? Ну так мне нужно её менять. Без всяких тестов, для повседневной работы.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Avada
Ты вроде всюду пишешь, что используешь 32-битный Тотал на x64 системе. Ну, ОК, исправил.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Если быть совсем точным, я использую комбинированный TC на разных системах. В x64 — преимущественно 32-битный (пока).
Скрипт гляну попозже, сейчас занят другими делами.
Добавлено спустя 1 час 25 минут:
Посмотрел. Не происходит обратное переключение с x64 на x32.
Даже самая богатая фантазия
Не представит себе наши безобразия.
;:::::::::::::::::::: AU3 ::::::::::::::::::::
; Перезапуск ТС со сменой архитектуры x32<>x64
; Параметр в поле Команда: "%COMMANDER_EXE%"
;:::::::::::::::::::::::::::::::::::::::::::::
#NoTrayIcon
Local $hWnd = WinActive("[CLASS:TTOTAL_CMD]")
If $hWnd Then
Opt("WinWaitDelay", 40)
Local $TC = $CmdLine[1], $PFix = '', $n = 4
WinClose($hWnd)
ProcessWaitClose(WinGetProcess($hWnd))
If @OSArch <> 'x86' Then
If StringRight($TC, 6) = '64.EXE' Then
$n = 6
Else
$PFix = '64'
EndIf
EndIf
$PID = Run(StringLeft($TC, StringLen($TC) - $n) & $PFix & '.EXE')
WinWaitActive("[CLASS:TTOTAL_CMD]")
$WSS = ObjCreate('WScript.Shell')
$WSS.AppActivate($PID)
EndIf
На Win x32 будет стандартный перезапуск.
Последний раз редактировалось Flasher Чт мар 07, 2019 20:04, всего редактировалось 7 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Чистый реверс, конечно. У меня обе битности могут быть рабочими. Сейчас идёт нормальная перезагрузка с x32 на x64, а если наоборот, x64 закрывается, а x32 не открывается. Проверь.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Avada
Не вижу причин для этого. У тебя в точности такой вариант, как сейчас?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Нли компилировать батник с Quick batch compiler со скрытием консольного окна, то лезут непонятные косяки с перезапуском, если разрешить запуск консольного окна, то отрабатывает так же, как и батник. Может, конечно у кого-то есть годное решение, как можно скрывать консольное окно.
Последний раз редактировалось sergiokapone Ср мар 06, 2019 11:32, всего редактировалось 1 раз.
Avada
При этом в папке ТС присутствуют TOTALCMD.exe и TOTALCMD64.exe?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Что покажет?
4, 5, 9 строки можно временно закомментировать.
И в wincmd.ini у тебя Onlyonce=0 ?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Тестировать буду вечером дома: на работе с запуском этих скриптов в любой их модификации почему-то возникли проблемы, на уяснение и устранение которых пока нет времени. И, да, у меня Onlyonce=0.
Добавлено спустя 9 минут:
Удалось запустить тестовый вариант с дополнительной строкой.
При вызове x64 из x32 выводится окно с правильным путём: