Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pythoncom
- import win32api
- from win32com.taskscheduler import taskscheduler
- import lib.utils as utils
- import time
- schd = pythoncom.CoCreateInstance(taskscheduler.CLSID_CTaskScheduler, None, pythoncom.CLSCTX_INPROC_SERVER,taskscheduler.IID_ITaskScheduler)
- schd.NewWorkItem("Test")
- job =schd.NewWorkItem("Test")
- job.SetApplicationName("notepad.exe")
- job.SetComment("test")
- job.SetPriority(taskscheduler.NORMAL_PRIORITY_CLASS)
- job.SetFlags(taskscheduler.TASK_FLAG_DELETE_WHEN_DONE|taskscheduler.TASK_FLAG_DONT_START_IF_ON_BATTERIES|taskscheduler.TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET)
- job.SetAccountInformation("user", "password")
- schd.AddWorkItem("Test", job)
- run_time = time.localtime(time.time() + 100)
- run_time = time.localtime(time.time() + 100)
- tr_ind, tr = job.CreateTrigger()
- run_time = time.localtime(time.time() + 50000)
- tt = tr.GetTrigger()
- tt.Flags=0
- 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.StartHour = int(time.strftime('%H', run_time))
- tt.StartMinute = int(time.strftime('%M', run_time))
- trigger_type_flags = taskscheduler.TASK_TIME_TRIGGER_DAILY
- tt.TriggerType = int(trigger_type_flags)
- tr.SetTrigger(tt)
- # ^^^ this should have worked
- pf = job.QueryInterface(pythoncom.IID_IPersistFile)
- pf.Save(None,1)
- job = schd.Activate("Test")
- exit_code, startup_error_code = job.GetExitCode()
- # job.Run() works
- # the task is created without any trigger
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement