使用 Microsoft 触发应用程序。Win32.TaskScheduler.dll
Trigger an application using Microsoft.Win32.TaskScheduler.dll
我正在研究 VS2015。我想在 20 秒后触发 运行 我的应用程序。我如何使用 Microsoft.Win32.TaskScheduler.dll?
我的代码如下:
void Actions::ScheduleRunApp()
{
TaskService^ ts = gcnew TaskService();
TaskDefinition^ td = ts->NewTask();
td->RegistrationInfo->Description = "Run LocalLockApp";
//td->Triggers->Add(gcnew DailyTrigger(2)); i want to run the application after 20 seconds instead
td->Actions->Add(gcnew ExecAction("notepad.exe", "C:\test.log", nullptr));
ts->RootFolder->RegisterTaskDefinition(L"Test",td);
ts->RootFolder->DeleteTask(L"Test",true);
}
您似乎有两个应用程序,并且您正在尝试让应用程序 #1 运行 应用程序 #2,可能在应用程序 #2 启动之前让应用程序 #1 退出。
乍一看,我会说为此使用任务计划程序是错误的解决方案。 Task Scheduler 用于定期启动维护任务,例如每天 4:00 am。您可以创建一个仅在现在 + 20 秒后触发 运行 一次的任务,但可能有更好的方法来执行此操作。
在这种情况下,我会做以下两件事之一:
- 保留应用程序 #1 运行ning。休眠 20 秒,然后 运行 应用程序 #2。如果用户请求退出应用程序,请隐藏您的 window。
- 创建一个辅助应用程序。这个助手应用程序的工作是延迟 20 秒,然后 运行 应用程序 #2。让应用程序 #1 启动辅助应用程序,然后应用程序 #1 可以自由退出。如果您不想让另一个 .exe 文件挂在身边,您甚至可以使用批处理文件来执行此操作。
如果您绝对必须使用 Task Scheduler,那么我相信您需要 TimeTrigger
而不是 DailyTrigger
。您也可能不想在 运行 之前调用 DeleteTask:相反,请确保设置了属性,以便任务在不再计划为 运行 时自动删除。
我正在研究 VS2015。我想在 20 秒后触发 运行 我的应用程序。我如何使用 Microsoft.Win32.TaskScheduler.dll? 我的代码如下:
void Actions::ScheduleRunApp()
{
TaskService^ ts = gcnew TaskService();
TaskDefinition^ td = ts->NewTask();
td->RegistrationInfo->Description = "Run LocalLockApp";
//td->Triggers->Add(gcnew DailyTrigger(2)); i want to run the application after 20 seconds instead
td->Actions->Add(gcnew ExecAction("notepad.exe", "C:\test.log", nullptr));
ts->RootFolder->RegisterTaskDefinition(L"Test",td);
ts->RootFolder->DeleteTask(L"Test",true);
}
您似乎有两个应用程序,并且您正在尝试让应用程序 #1 运行 应用程序 #2,可能在应用程序 #2 启动之前让应用程序 #1 退出。
乍一看,我会说为此使用任务计划程序是错误的解决方案。 Task Scheduler 用于定期启动维护任务,例如每天 4:00 am。您可以创建一个仅在现在 + 20 秒后触发 运行 一次的任务,但可能有更好的方法来执行此操作。
在这种情况下,我会做以下两件事之一:
- 保留应用程序 #1 运行ning。休眠 20 秒,然后 运行 应用程序 #2。如果用户请求退出应用程序,请隐藏您的 window。
- 创建一个辅助应用程序。这个助手应用程序的工作是延迟 20 秒,然后 运行 应用程序 #2。让应用程序 #1 启动辅助应用程序,然后应用程序 #1 可以自由退出。如果您不想让另一个 .exe 文件挂在身边,您甚至可以使用批处理文件来执行此操作。
如果您绝对必须使用 Task Scheduler,那么我相信您需要 TimeTrigger
而不是 DailyTrigger
。您也可能不想在 运行 之前调用 DeleteTask:相反,请确保设置了属性,以便任务在不再计划为 运行 时自动删除。