我正在尝试使用c#在winxp上安排重启程序 目前,我编程它在winxp中添加一个计划任务,在5分钟内重启 但是,它并不总是有效,因为重启后机器时间可能会改变(我的环境中有时间服务器)。这意味着计划的任务时间不准确,反过来我的重新启动在预期的时间内不起作用。
例如,当我添加计划的重启任务时,机器时间是上午11点05分,重启计划的时间是上午11点10分。然后我加入xp到域并重新启动,时间与时间服务器同步,机器更改为1:01 pm。 在这种情况下,计划任务在同一天的上午11点10分有一段时间,它已经过去了。当然它不会起作用。
所以任何人都知道其他任何方式吗? ps:在将xp加入域之前使用此程序 并重新启动,因为它是第二次重启,我需要它自动重启而无需用户交互
答案 0 :(得分:5)
通过从C#启动新进程来使用内置shutdown命令:
using System;
using System.Diagnostics;
namespace ShutdownApp
{
class ShutdownApp
{
static void Main(string[] args)
{
Process shutDown = new Process();
int shutdownTimeInSeconds = 600; // this will shutdown in 10 minutes, use DateTime and TimeSpan functions to calculate the exact time you need
shutDown.StartInfo.FileName = "shutdown.exe";
shutDown.StartInfo.Arguments = string.Format("-r -t {0}", shutdownTimeInSeconds);
shutDown.Start();
}
}
}
答案 1 :(得分:-1)