c# - Task Scheduler Managed Wrapper 不显示所有任务

标签 c# taskscheduler

我创建了一个简单的 Windows 窗体应用程序,它显示计算机上所有计划任务的名称和文件夹。我正在使用 Task Scheduler Managed Wrapper (Microsoft.Win32.TaskScheduler),下面是获取名称并显示它们的代码。然而,似乎 AllTask​​s 实际上并没有给我所有任务。有一些没有显示。在这种情况下,什么会导致任务被隐藏?

using (TaskService tsksrvs = new TaskService())
{
    foreach (Task tsk in tsksrvs.AllTasks)
    {
        textJobsList.Text += tsk.Name + " (" + tsk.Folder + ")" + Environment.NewLine;
    }
}

最佳答案

对象Microsoft.Win32.TaskScheduler.TaskService 的属性AllTask​​s 返回 任务 所在的Windows 调度程序任务。 Definition.Principal.UserId 是 运行程序的用户系统网络服务本地服务为空。顺便说一下,属性 Definition.RegistrationInfo.Author 的值是多少并不重要。

如果需要获取所有用户的所有任务,可以通过以下代码完成:

using Microsoft.Win32.TaskScheduler;
using System.Diagnostics;
using System.Text.RegularExpressions;
......................................
                Task[] allTasks = TaskService.Instance.FindAllTasks(new Regex(".*")); // this will list ALL tasks for ALL users
                foreach (Task tsk in allTasks)
                {
                    //Do whatever you need here, for example:
                    Debug.WriteLine("TaskName:{0}; Path:{1}; Author:{2}; Principal: {3}; ", tsk.Name, tsk.Path, tsk.Definition.RegistrationInfo.Author, tsk.Definition.Principal.UserId);
                }

关于c# - Task Scheduler Managed Wrapper 不显示所有任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37137554/

相关文章:

php - Laravel - 任务调度

远程计算机中的 C# 任务计划程序

c# - 依赖属性未更新?

java - Spring Boot 应用程序的@PostConstruct 方法中的死锁

c++ - 如何在任务计划程序中显示所有任务

c# - .net 4.0 安全模型。另一个 "Inheritance security rules violated by type..."异常

c# - 来自服务总线队列的消息在事件功能出错时消失

c# - 在 C# CodeBehind 中为 javascript 变量赋值

c# - 想要在表格的每一行中显示两个额外的元素,比如 - 'update' 和 'delete' 链接标签