Как редактировать настройки задач из pythoncom для планировщика задач Windows 10 - PullRequest
1 голос
/ 27 сентября 2019

Я использую библиотеку 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)

И свойства полученной задачи: Task Scheduler Settings tab for generated python task

Как снять флажок Stop the task if it runs longer than: ... с python?

...