#Orchestrator_AddActivity_GUISessionCheckSetActive

dev-linux
Ivan Maslov 5 years ago
parent 6983d9029c
commit 6f3152ade9

@ -5,8 +5,12 @@ import pdb
import os
import sys
import subprocess
import win32ts
#Глобальная переменная - все глобальные значения программы
global mGlobalDict
#Включить WTS (WIN32TS)
mWTSServer = lWTSServer = win32ts.WTSOpenServer("localhost")
#{
# actionList:
# [
@ -25,6 +29,9 @@ global mGlobalDict
# },
# {
# type: <ActivityRestartOrchestrator>
# },
# {
# type: <ActivitySessionCheckSetActive>
# }
# ]
#
@ -65,5 +72,24 @@ def ProcessingRun(inConfigurationDict):
if lItem["type"]=="ActivityRestartOrchestrator":
os.execl(sys.executable,os.path.abspath(__file__),*sys.argv)
sys.exit(0)
#Обработка команды ActivitySessionCheckSetActive
if lItem["type"]=="ActivitySessionCheckSetActive":
lResult["actionListResult"][-1] = {**lResult["actionListResult"][-1], **{"result":{"IsActivated":False}}}
lPID = os.getpid()
#pdb.set_trace()
lSessionId = win32ts.ProcessIdToSessionId(lPID)
lSessionList = win32ts.WTSEnumerateSessions(lWTSServer)
#При попытке закрыть сервер возникает ошибка
#win32ts.WTSCloseServer(lWTSServer)
#Наложить фильтр
lSessionFiltered = [d for d in lSessionList if d["SessionId"]==lSessionId]
#Выполнить переход в активное состояние , если State != 0
if lSessionFiltered[0]["State"] != 0:
lCMDCodeTSCON = "tscon " + str(lSeessionId) + " /dest:console"
lCMDCode="cmd /c "+lCMDCodeTSCON
subprocess.Popen(lCMDCode)
lResult["actionListResult"][-1] = {**lResult["actionListResult"][-1], **{"result":{"IsActivated":True}}}
#Выключить соединение
#Вернуть результат
return lResult
return lResult

Loading…
Cancel
Save