using System.Diagnostics;//引用
如果您是需要设定某一个时间关机的话,那么代码如下。
DateTime now = Convert.ToDateTime(DateTime.Now.ToString("hh:mm"));//当前时间
DateTime sdtime = Convert.ToDateTime("12:50");//关机时间
if(now==sdtime)
{
if( MessageBox.Show("当前设定时间到,您是否关机?", "提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)==DialogResult.OK)//如果选中确定
{
Process.Start("shutdown -s -t 0");//命令行执行shutdown命令,0秒后关机
}
}
else
{
//时间不相同
}
System.Diagnostics.Process.Start("cmd.exe", "shutdown -s -t %time%");
time是秒为单位 一分钟的话你就打60
你要用参数的没有参数是没有用
-s 关机
-l 注销
-r 重启
然后是 -t +时间
你需要这样写 shutdown +你要干什么 + -t 你要执行的时间
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Management;
namespace Ex07_02
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll", EntryPoint = "ExitWindowsEx", CharSet = CharSet.Ansi)]
private static extern int ExitWindowsEx(int uFlags, int dwReserved);
//关机代码
private void button2_Click(object sender, EventArgs e)
{
System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.StandardInput.WriteLine("shutdown -s -t 0");
}
}
}
运行 下面的: shutdown -s -t 0 关不了?