1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
'------------------------------------------------------------------
' Cet exemple programme une tâche pour lancer Notepad.exe 60 secondes
' à partir du moment où la tâche est enregistrée.
'------------------------------------------------------------------
' Une constante qui spécifie un déclencheur basé sur le temps.
Const TriggerTypeTime = 1
' Une constante qui spécifie une action exécutable.
Const ActionTypeExec = 0
Sub test()
'********************************************************
' Créer l'objet TaskService.
Set service = CreateObject("Schedule.Service")
Call service.Connect
'********************************************************
' Obtenez un dossier pour créer une définition de tâche.
Dim rootFolder
Set rootFolder = service.GetFolder("\")
' La variable tâche Définition est l'objet de la définition des tâches.
Dim taskDefinition
' Le paramètre flags est 0 car il est pas pris en charge.
Set taskDefinition = service.NewTask(0)
'********************************************************
' Définir des informations sur la tâche.
' Définir les informations d'enregistrement de la tâche par
' la création de la Registration Info objet.
Dim regInfo
Set regInfo = taskDefinition.RegistrationInfo
regInfo.Description = "Start notepad at a certain time"
regInfo.Author = "Author Name"
'********************************************************
' Définir l'entité pour la tâche
Dim principal
Set principal = taskDefinition.principal
' Définissez le type de connexion à l'ouverture de session interactive
principal.LogonType = 3
' Réglez la tâche d'info réglage pour le Planificateur de tâches par
' création d'un objet Paramètres des tâches.
Dim settings
Set settings = taskDefinition.settings
settings.Enabled = True
settings.StartWhenAvailable = True
settings.Hidden = False
'********************************************************
' Créer un déclencheur basé sur le temps.
Dim triggers
Set triggers = taskDefinition.triggers
Dim trigger
Set trigger = triggers.Create(TriggerTypeTime)
' Déclencher variables qui définissent lorsque le déclencheur est actif.
Dim startTime, endTime
Dim time
time = DateAdd("s", 60, Now) 'start time = 30 seconds from now
startTime = XmlTime(time)
time = DateAdd("n", 5, Now) 'end time = 5 minutes from now
endTime = XmlTime(time)
MsgBox "startTime :" & startTime & vbCrLf & "endTime :" & endTime
trigger.StartBoundary = startTime
trigger.EndBoundary = endTime
trigger.ExecutionTimeLimit = "PT5M" 'Five minutes
trigger.ID = "TimeTriggerId"
trigger.Enabled = True
'***********************************************************
' Créer l'action pour la tâche à exécuter ..
' Ajouter une action à la tâche à exécuter notepad.exe.
Dim Action
Set Action = taskDefinition.Actions.Create(ActionTypeExec)
Action.Path = "C:\Windows\System32\notepad.exe"
MsgBox "définition tâche créée . enregistrement de la tâche ..."
'***********************************************************
' Inscrire (créer) la tâche.
Call rootFolder.RegisterTaskDefinition( _
"Test TimeTrigger", taskDefinition, 6, , , 3)
MsgBox "Tâche programée"
End Sub
'------------------------------------------------------------------
' Permet d'obtenir le temps de la détente
'startBoundary et à la fin des limites.
' Retourne le temps dans le format correct:
' YYYY-MM-DDTHH:MM:SS.
'------------------------------------------------------------------
Function XmlTime(t)
Dim cSecond, cMinute, CHour, cDay, cMonth, cYear
Dim tTime, tDate
cSecond = "0" & Second(t)
cMinute = "0" & Minute(t)
CHour = "0" & Hour(t)
cDay = "0" & Day(t)
cMonth = "0" & Month(t)
cYear = Year(t)
tTime = Right(CHour, 2) & ":" & Right(cMinute, 2) & _
":" & Right(cSecond, 2)
tDate = cYear & "-" & Right(cMonth, 2) & "-" & Right(cDay, 2)
XmlTime = tDate & "T" & tTime
End Function |
Partager