[英]How to delete schedule task
我已经使用下面的 C# 代码在 Windows 2008 Server 中创建了计划任务。它工作正常,但是当我从 C# 代码中删除任务时。它显示一条错误消息“访问被拒绝。(来自 HRESULT 的异常:0X80070005(E_ACCESSDENIED)”
请检查下面的代码并建议如何做到这一点..创建任务:-(工作正常)
private void CreateTask(string StrTaskName,string StrDate)
{
using (TaskService ts = new TaskService())
{
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "SMS Alert System";
td.Principal.LogonType = TaskLogonType.InteractiveToken;
TimeTrigger dt = (TimeTrigger)td.Triggers.Add(new TimeTrigger());
dt.StartBoundary = Convert.ToDateTime(StrDate);
string doubleQuotedPath = string.Format(@"""{0}""", StrTaskName);
td.Actions.Add(new ExecAction(@"D:\Alert\SMSAlertSystem.exe", doubleQuotedPath, null));
ts.RootFolder.RegisterTaskDefinition(StrTaskName, td);
}
}
删除任务:-(不工作)
using (TaskService ts = new TaskService())
{
ts.RootFolder.DeleteTask(StrtMessage.Trim());
}
您可能对流程有错误的许可。
%SystemRoot%\\system32\\Tasks
读/写吗?这有效:
using TaskService ts = new TaskService();
if (ts.GetTask(StrTaskName) != null)
{
ts.RootFolder.DeleteTask(StrTaskName);
}
使用 StrTaskName 而不是 StrtMessage.Trim()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.