Vehicle-Anti-Theft-Face-Rec.../venv/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py

41 lines
1.6 KiB
Python

import pythoncom, time, win32api
from win32com.taskscheduler import taskscheduler
task_name='test_addtask_2.job'
ts=pythoncom.CoCreateInstance(taskscheduler.CLSID_CTaskScheduler,None,
pythoncom.CLSCTX_INPROC_SERVER,taskscheduler.IID_ITaskScheduler)
tasks=ts.Enum()
for task in tasks:
print(task)
if task_name in tasks:
print('Deleting existing task '+task_name)
ts.Delete(task_name)
t=ts.NewWorkItem(task_name)
t.SetComment('Test a task running as local system acct')
t.SetApplicationName('c:\\python23\\python.exe')
t.SetPriority(taskscheduler.REALTIME_PRIORITY_CLASS)
t.SetParameters('test_localsystem.py')
t.SetWorkingDirectory('c:\\python23')
t.SetCreator('test_addtask_2.py')
t.SetMaxRunTime(20000) #milliseconds
t.SetFlags(taskscheduler.TASK_FLAG_DELETE_WHEN_DONE)
t.SetAccountInformation('',None) ## empty string for account name means to use local system
## None is only valid for local system acct or if task flags contain TASK_FLAG_RUN_ONLY_IF_LOGGED_ON
run_time = time.localtime(time.time() + 60)
tr_ind, tr=t.CreateTrigger()
tt=tr.GetTrigger()
tt.Flags=0 ## flags for a new trigger default to TASK_TRIGGER_FLAG_DISABLED (4), make sure to clear them if not using any
tt.TriggerType=taskscheduler.TASK_TIME_TRIGGER_ONCE
tt.BeginYear=int(time.strftime('%Y',run_time))
tt.BeginMonth=int(time.strftime('%m',run_time))
tt.BeginDay=int(time.strftime('%d',run_time))
tt.StartMinute=int(time.strftime('%M',run_time))
tt.StartHour=int(time.strftime('%H',run_time))
tr.SetTrigger(tt)
print(t.GetTriggerString(tr_ind))
pf=t.QueryInterface(pythoncom.IID_IPersistFile)
pf.Save(None,1)