Пример #1
0
 internal IdleTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.OnIdle)
 {
 }
Пример #2
0
 internal LogonTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.OnLogon)
 {
 }
Пример #3
0
 internal static Trigger CreateTrigger(ITaskTrigger trigger, V1Interop.TaskTriggerType triggerType)
 {
     switch (triggerType)
     {
         case V1Interop.TaskTriggerType.RunOnce: return new TimeTrigger(trigger);
         case V1Interop.TaskTriggerType.RunDaily: return new DailyTrigger(trigger);
         case V1Interop.TaskTriggerType.RunWeekly: return new WeeklyTrigger(trigger);
         case V1Interop.TaskTriggerType.RunMonthly: return new MonthlyTrigger(trigger);
         case V1Interop.TaskTriggerType.RunMonthlyDOW: return new MonthlyDOWTrigger(trigger);
         case V1Interop.TaskTriggerType.OnIdle: return new IdleTrigger(trigger);
         case V1Interop.TaskTriggerType.OnSystemStart: return new BootTrigger(trigger);
         case V1Interop.TaskTriggerType.OnLogon: return new LogonTrigger(trigger);
     }
     return null;
 }
Пример #4
0
 internal virtual void Bind(V1Interop.ITask iTask)
 {
 }
Пример #5
0
 internal static string GetV1Path(V1Interop.ITask v1Task)
 {
     string fileName = string.Empty;
     try
     {
         IPersistFile iFile = (IPersistFile)v1Task;
         iFile.GetCurFile(out fileName);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return fileName;
 }
Пример #6
0
 internal static V1Interop.ITask GetTask(V1Interop.ITaskScheduler iSvc, string name)
 {
     Guid ITaskGuid = Marshal.GenerateGuidForType(typeof(V1Interop.ITask));
     try { return iSvc.Activate(name, ref ITaskGuid); } catch {}
     return null;
 }
Пример #7
0
 internal static TaskTriggerType ConvertFromV1TriggerType(V1Interop.TaskTriggerType v1Type)
 {
     int v2tt = (int)v1Type + 1;
     if (v2tt > 6) v2tt++;
     return (TaskTriggerType)v2tt;
 }
Пример #8
0
 internal static void SetTaskData(V1Interop.ITask v1Task, object value)
 {
     System.Runtime.Serialization.Formatters.Binary.BinaryFormatter b = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
     System.IO.MemoryStream stream = new System.IO.MemoryStream();
     b.Serialize(stream, value);
     v1Task.SetWorkItemData((ushort)stream.Length, stream.ToArray());
 }
Пример #9
0
 internal Trigger(V1Interop.ITaskTrigger trigger, V1Interop.TaskTrigger data)
 {
     v1Trigger = trigger;
     v1TriggerData = data;
     ttype = ConvertFromV1TriggerType(data.Type);
 }
Пример #10
0
 internal BootTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.OnSystemStart)
 {
 }
Пример #11
0
 internal TimeTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.RunOnce)
 {
 }
Пример #12
0
 internal override void Bind(V1Interop.ITask v1Task)
 {
     object o = null;
     unboundValues.TryGetValue("Path", out o);
     v1Task.SetApplicationName(o == null ? string.Empty : o.ToString());
     o = null;
     unboundValues.TryGetValue("Arguments", out o);
     v1Task.SetParameters(o == null ? string.Empty : o.ToString());
     o = null;
     unboundValues.TryGetValue("WorkingDirectory", out o);
     v1Task.SetWorkingDirectory(o == null ? string.Empty : o.ToString());
 }
Пример #13
0
 internal ExecAction(V1Interop.ITask task)
 {
     v1Task = task;
 }
Пример #14
0
 internal MonthlyTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.RunMonthly)
 {
 }
Пример #15
0
 internal static Trigger CreateTrigger(V1Interop.ITaskTrigger trigger)
 {
     return CreateTrigger(trigger, trigger.GetTrigger().Type);
 }
Пример #16
0
 internal static object GetTaskData(V1Interop.ITask v1Task)
 {
     ushort DataLen;
     IntPtr Data;
     try
     {
         v1Task.GetWorkItemData(out DataLen, out Data);
         byte[] bytes = new byte[DataLen];
         Marshal.Copy(Data, bytes, 0, DataLen);
         System.IO.MemoryStream stream = new System.IO.MemoryStream(bytes, false);
         System.Runtime.Serialization.Formatters.Binary.BinaryFormatter b = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
         return b.Deserialize(stream);
     }
     catch { }
     return string.Empty;
 }
Пример #17
0
 internal static Trigger CreateTrigger(V1Interop.ITaskTrigger trigger, V1Interop.TaskTriggerType triggerType)
 {
     Trigger t = null;
     switch (triggerType)
     {
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.RunOnce:
             t = new TimeTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.RunDaily:
             t = new DailyTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.RunWeekly:
             t = new WeeklyTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.RunMonthly:
             t = new MonthlyTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.RunMonthlyDOW:
             t = new MonthlyDOWTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.OnIdle:
             t = new IdleTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.OnSystemStart:
             t = new BootTrigger(trigger);
             break;
         case Disk_Cleaner.TaskScheduler.V1Interop.TaskTriggerType.OnLogon:
             t = new LogonTrigger(trigger);
             break;
         default:
             break;
     }
     //if (t != null) t.ttype = triggerType;
     return t;
 }
Пример #18
0
 internal RunningTask(TaskService svc, V1Interop.ITask iTask)
     : base(svc, iTask)
 {
 }
Пример #19
0
 internal virtual void Bind(V1Interop.ITask iTask)
 {
     if (v1Trigger == null)
     {
         ushort idx;
         v1Trigger = iTask.CreateTrigger(out idx);
     }
     SetV1TriggerData();
 }
Пример #20
0
 internal TaskDefinition(V1Interop.ITask iTask, string name)
 {
     v1Task = iTask;
     v1Name = name;
 }
Пример #21
0
 internal WeeklyTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.RunWeekly)
 {
 }
Пример #22
0
 internal static TaskTriggerType ConvertFromV1TriggerType(V1Interop.TaskTriggerType v1Type)
 {
     var num = ((int)v1Type) + 1;
     if (num > 6)
         num++;
     return (TaskTriggerType)num;
 }
Пример #23
0
 internal DailyTrigger(V1Interop.ITaskTrigger iTrigger)
     : base(iTrigger, V1Interop.TaskTriggerType.RunDaily)
 {
 }
Пример #24
0
 internal Trigger(ITaskTrigger trigger, V1Interop.TaskTriggerType type)
     : this(trigger, trigger.GetTrigger()) { }
 internal static V1Interop.ITask GetTask(V1Interop.ITaskScheduler iSvc, string name)
 {
     if (string.IsNullOrEmpty(name))
         throw new ArgumentNullException("name");
     try
     {
         return iSvc.Activate(name, ref ITaskGuid);
     }
     catch (System.UnauthorizedAccessException)
     {
         // TODO: Take ownership of the file and try again
         throw;
     }
     catch (System.ArgumentException)
     {
         return iSvc.Activate(name + ".job", ref ITaskGuid);
     }
     catch { throw; }
 }