如何用C#实现自动关机

2024-12-05 04:09:18
推荐回答(4个)
回答1:

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
{
//时间不相同
}

回答2:

System.Diagnostics.Process.Start("cmd.exe", "shutdown -s -t %time%");
time是秒为单位 一分钟的话你就打60

你要用参数的没有参数是没有用
-s 关机
-l 注销
-r 重启
然后是 -t +时间
你需要这样写 shutdown +你要干什么 + -t 你要执行的时间

回答3:

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");
}
}
}

回答4:

运行 下面的: shutdown -s -t 0 关不了?