每个附加组件都使用一个调度程序。要加载的其他计划任务。我的应用程序只有一个实例在运行。该应用程序有时会关闭并运行。所以我需要使用Windows7TaskScheduler如何在我自己的应用程序上使用TaskScheduler?我需要在任务完成时从我需要的应用程序创建新任务,向我的应用程序发送消息或调用我的应用程序的任何功能是否可能?怎么做?在CodeProject上查看此项目。一个新的.NET任务计划程序类库如果您想通过代码与Windows7计划任务系统交互以创建、管理或删除任务,您没有任何问题。(我在为Pluralsight编写的Windows7课程中介绍了这一点。)向TaskScheduler添加一个COM引用然后你做了这样的事情:ITaskServicescheduler=newTaskSchedulerClass();scheduler.Connect(null,null,null,null);ITaskFolderrootFolder=scheduler.GetFolder("\");ITaskFolder文件夹=rootFolder.GetFolders(0).Cast().FirstOrDefault(f=>f.Name=="Windows7Course");if(folder==null){folder=rootFolder.CreateFolder("Windows7Course",null);}ITaskDefinitiontask=scheduler.NewTask(0);IExecAction动作=(IExecAction)task.Actions.Create(_TASK_ACTION_TYPE.TASK_ACTION_EXEC);action.Path=typeof(SayHello.Form1).Assembly.Location;action.WorkingDirectory=Path.GetDirectoryName(typeof(SayHello.Form1).Assembly.Location);ISessionStateChangeTrigger触发器=(ISessionStateChangeTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_SESSION_STATE_CHANGE);trigger.StateChange=_TASK_SESSION_STATE_CHANGE_TYPE.TASK_SESSION_UNLOCK;task.Settings.DisallowStartIfOnBatteries=true;task.RegistrationInfo.Author="凯特格雷戈里";task.RegistrationInfo.Description="Launchesagreeting.";IRegisteredTaskticket=folder.RegisterTaskDefinition("GreetReturningUser",task,(int)_TASK_CREATION.TASK_CREATE_OR_UPDATE,null,null,_TASK_LOGON_TYPE.TASK_LOGON_INTERENACTIVE_TOKforthisspecificrunexample)exein相同的解决方案(另一个项目)您必须调整Action.Path、Action.WorkingDirectory等以满足您的需求。感谢Kate提供了很好的示例,我觉得在我的漫游中我没有首先遇到您的代码.我通过C#代码注册了计划任务,玩得很开心,当我在以前从未遇到过的环境中遇到障碍时,不得不调整我的计划创建代码也就不足为奇了。我希望我找到了最健壮的代码,如果我遇到环境问题,如果我分享一些你可能会尝试的东西,我认为它也可能使其他人受益:Matt上面最好的是C#学习教程:IsitpossibleatIfyouusetheWindows7TaskSchedulerto分享自己应用中的所有内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
