📄 module1.vb
字号:
Imports TaskScheduler
Module Module1
Sub Main()
Dim sched As New Scheduler()
' Test task and trigger enumeration
Dim t As Task
For Each t In sched.Tasks
Console.WriteLine(t.ToString())
Dim tr As Trigger
For Each tr In t.Triggers
Console.WriteLine(tr.ToString())
Next
Next
' Test getting existing task (assumes you have a "Disk Cleanup" task already)
Dim t1 As Task = sched.Tasks("aDisk Cleanup")
If (Not (t1 Is Nothing)) Then
' Test trigger list
t1.Triggers.Clear()
t1.Triggers.Add(New OnIdleTrigger())
t1.Triggers(0) = New OnSystemStartTrigger()
' Test tag
Dim s As String = "This is an interesting comment."
t1.Tag = s
t1.Save()
t1 = sched.Tasks("Disk Cleanup")
s = Nothing
s = t1.Tag
Console.WriteLine(s)
End If
' Test creating new task and all triggers
Dim t2 As Task
Try
t2 = sched.Tasks.NewTask("Testing")
t2.ApplicationName = "notepad.exe"
t2.Comment = "Testing Notepad"
t2.Creator = "Author"
t2.Flags = TaskFlags.Interactive
t2.Hidden = True
t2.IdleWaitDeadlineMinutes = 20
t2.IdleWaitMinutes = 10
t2.MaxRunTime = New TimeSpan(1, 0, 0)
t2.Parameters = "c:\test.log"
t2.Priority = System.Diagnostics.ProcessPriorityClass.High
t2.WorkingDirectory = "c:\"
t2.Triggers.Add(New RunOnceTrigger(DateTime.Now.AddMinutes(1.0)))
t2.Triggers.Add(New DailyTrigger(8, 30, 1))
t2.Triggers.Add(New WeeklyTrigger(6, 0, DaysOfTheWeek.Sunday))
t2.Triggers.Add(New MonthlyDOWTrigger(8, 0, DaysOfTheWeek.Monday Or DaysOfTheWeek.Thursday, WhichWeek.FirstWeek Or WhichWeek.ThirdWeek))
Dim days As Integer() = New Integer() {1, 8, 15, 22, 29}
t2.Triggers.Add(New MonthlyTrigger(9, 0, days, MonthsOfTheYear.July))
t2.Triggers.Add(New OnIdleTrigger())
t2.Triggers.Add(New OnLogonTrigger())
t2.Triggers.Add(New OnSystemStartTrigger())
' The following line needs to be set to a valid account and password
t2.SetAccountInformation("DOMAIN\username", "password")
t2.Save()
Catch
End Try
t2 = Nothing
' Test getting all task properties
t2 = sched.Tasks("Testing")
Console.WriteLine()
Console.WriteLine(t2.Name)
Console.WriteLine(" {0}", t2.AccountName)
Console.WriteLine(" {0}", t2.ApplicationName)
Console.WriteLine(" {0}", t2.Comment)
Console.WriteLine(" {0}", t2.Creator)
Console.WriteLine(" {0}", t2.ExitCode)
Console.WriteLine(" {0}", t2.Flags)
Console.WriteLine(" {0}", t2.Hidden)
Console.WriteLine(" {0}", t2.IdleWaitDeadlineMinutes)
Console.WriteLine(" {0}", t2.IdleWaitMinutes)
Console.WriteLine(" {0}", t2.MaxRunTime)
Console.WriteLine(" {0}", t2.MostRecentRunTime)
Console.WriteLine(" {0}", t2.NextRunTime)
Console.WriteLine(" {0}", t2.Parameters)
Console.WriteLine(" {0}", t2.Priority)
Console.WriteLine(" {0}", t2.Status)
Console.WriteLine(" {0}", t2.WorkingDirectory)
' Test trigger lookup and removal
Dim trigger As Trigger = New OnIdleTrigger()
Dim idx As Integer = t2.Triggers.IndexOf(trigger)
If idx <> -1 Then
t2.Triggers.RemoveAt(idx)
End If
' Test task execution methods
t2.Run()
Console.In.ReadLine()
Try
t2.Terminate()
Catch
End Try
' Test task deletion
sched.Tasks.Delete("Testing")
End Sub
End Module
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -