Я использую библиотеку pythoncom
для программного создания и управления задачей Windows.Под сгенерированным xml
есть задание для задачи под Settings
, это Stop the task if it runs longer than: ...
.Я не могу найти настройки для изменения в библиотеке.Я попытался установить task.SetMaxrunTime(-1)
, но, похоже, этот флажок не отключается при просмотре в свойствах задачи.
Вот пример, который я сделал до сих пор:
import pythoncom
import time
from win32com.taskscheduler import taskscheduler
def create_task(name, cmd, parameters,):
ts = pythoncom.CoCreateInstance(taskscheduler.CLSID_CTaskScheduler,None,
pythoncom.CLSCTX_INPROC_SERVER,
taskscheduler.IID_ITaskScheduler)
ts.Delete(ts.Enum()[0]) # delete it since i am just testing
task = ts.NewWorkItem(name)
task.SetApplicationName(cmd)
task.SetParameters(parameters)
task.SetMaxRunTime(-1)
task.SetPriority(taskscheduler.REALTIME_PRIORITY_CLASS)
#task.SetFlags(taskscheduler.)
task.SetAccountInformation('', None)
ts.AddWorkItem(name, task)
run_time = time.localtime(time.time() + 300)
tr_ind, tr = task.CreateTrigger()
tt = tr.GetTrigger()
tt.Flags = 0
tt.TriggerType = int(taskscheduler.TASK_EVENT_TRIGGER_AT_SYSTEMSTART)
tr.SetTrigger(tt)
pf = task.QueryInterface(pythoncom.IID_IPersistFile)
pf.Save(None,1)
task.Run()
task = ts.Activate(name)
exit_code, startup_error_code = task.GetExitCode()
return win32api.FormatMessage(startup_error_code)
И свойства полученной задачи:
Как снять флажок Stop the task if it runs longer than: ...
с python?