Mancoffee
Свет проталкивает тьму ...
- Сообщения
- 86
- Репутация
- 1
Нужно перезапускать Total Commander с версии x64 в x86 и наоборот. То есть находишься в x64, тогда перезапустить в x64 (это работает у меня вот так)
Как перезапустить, чтобы если в x86, то в x64.То есть, чтобы скрипт обнаруживал процесс и тот и тот. И почему, если вместо ShellExecute поставить Run, то запуск не происходит?
Возможно
это как-то поможет мне помочь? Так у меня на VBScript с TCHelper-ом работает.
Код:
if processexists("TOTALCMD64.EXE") then
processclose("TOTALCMD64.EXE")
Sleep(1000)
ShellExecute("d:\Programs\System\Total Commander\v8.0 Beta 19 Portable (x64-x86)\TOTALCMD64.exe")
else
msgbox(0, "Ошибка", "Total Commander x64 не запущен!")
endif
Как перезапустить, чтобы если в x86, то в x64.То есть, чтобы скрипт обнаруживал процесс и тот и тот. И почему, если вместо ShellExecute поставить Run, то запуск не происходит?
Возможно
Код:
Option Explicit
Dim TCS, WshShell, TCexe, Timeout, QuitByTimeOut
Set TCS = CreateObject("TCScript.Helper")
Set WshShell = WScript.CreateObject("WScript.Shell")
TCexe = """" & TCS.TCPath & "\totalcmd64.exe"""
'Завершаем работу ТС
TCS.SendCommand "cm_Exit", True
'Ожидание завершения работы ТС
Timeout = 2000 ' Сколько ждать выключения в мсек
Do
Timeout = Timeout - 100
If Timeout < 0 Then QuitByTimeOut = True: Exit Do
WScript.Sleep 100
Loop While TCS.IsRunningTC
'Запускаем новый экземпляр программы
If Not QuitByTimeOut Then WshShell.Run TCexe
Set TCS = Nothing
Set WshShell = Nothing
WScript.Quit