繁体   English   中英

如何删除计划任务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM