我有使用 C# TaskManager 对象创建任务的代码。在 Windows 7 上它工作正常,但在 Windows XP(可能还有其他 Windows)上它根本不起作用,因为任务的默认用户是系统,因此没有用于显示 GUI 的会话。如果我在控制面板小部件中手动修改创建的任务,将作业设置为仅在用户登录时运行并且仅针对特定用户运行,那么一切都会完美运行。但尽管进行了数小时的搜索,我没有看到在 C# 对象中设置这些选项的选项。有人知道现有对象的解决方案吗?我不想重写所有内容来手动运行调度程序 EXE 并通过命令行传递内容。
Q
好吧,我找到答案了!
我没有意识到,但我一直在使用第三方任务计划程序托管包装 http://taskscheduler.codeplex.com/(自从我编写那部分代码以来已经有一段时间了)这解释了为什么很难找到帮助!我刚才偶然发现了该页面,他们的示例中正是我所需要的!这,但关键部分是:
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.Principal.UserId = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
td.Principal.LogonType = TaskLogonType.InteractiveToken;
感谢您尝试提供帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)