在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):dahall/TaskScheduler开源软件地址(OpenSource Url):https://github.com/dahall/TaskScheduler开源编程语言(OpenSource Language):C# 99.9%开源软件介绍(OpenSource Introduction):Task Scheduler Managed Wrapper
Quick Links
InstallationThis project's assemblies are available via NuGet or manually from the .zip files in the Releases section.
You can also find prerelease NuGet pacakges on the project's AppVeyor NuGet feed. Once referenced by your project, all classes can be found in the Project ComponentsMain LibraryMicrosoft introduced version 2.0 (internally version 1.2) with a completely new object model with Windows Vista. The managed assembly closely resembles the new object model, but allows the 1.0 (internally version 1.1) COM objects to be manipulated. It will automatically choose the most recent version of the library found on the host system (up through 1.4). Core features include:
The currently supported localizations include: English, Spanish, Italian, French, Chinese (Simplified), German, Polish and Russian. Others localizations can be added upon request, especially if you're willing to help with translations. The project is based on work the originator started in January 2002 with the 1.0 library that is currently hosted on CodeProject. UI LibraryA second library includes localized and localizable GUI editors and a wizard for tasks which mimic the ones in Vista and later and adds optional pages for new properties. Following is the list of available UI controls:
Sample CodeThere is a help file included with the download that provides an overview of the various classes. There are numerous examples under the "Documentation" tab. You can perform a number of actions in a single line of code: // Run a program every day on the local machine
TaskService.Instance.AddTask("Test", QuickTriggerType.Daily, "myprogram.exe", "-a arg");
// Run a custom COM handler on the last day of every month
TaskService.Instance.AddTask("Test", new MonthlyTrigger { RunOnLastDayOfMonth = true },
new ComHandlerAction(new Guid("{CE7D4428-8A77-4c5d-8A13-5CAB5D1EC734}"))); For many more options, use the library classes to build a complex task. Below is a brief example of how to use the library from C#. using System;
using Microsoft.Win32.TaskScheduler;
class Program
{
static void Main(string[] args)
{
// Get the service on the remote machine
using (TaskService ts = new TaskService(@"\\RemoteServer", "username", "domain", "password"))
{
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Does something";
// Create a trigger that will fire the task at this time every other day
td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });
// Create an action that will launch Notepad whenever the trigger fires
td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null));
// Register the task in the root folder.
// (Use the username here to ensure remote registration works.)
ts.RootFolder.RegisterTaskDefinition(@"Test", td, TaskCreation.CreateOrUpdate, "username");
}
}
} For extended examples on how to the use the library, look in the source code area or look at the Examples Page. The library closely follows the Task Scheduler 2.0 Scripting classes. Microsoft has some examples on Microsoft Docs around it that may further help you understand how to use this library. This project appreciatively uses: |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论