用 VS 编写电脑关机程序。 怎么写。

解决方案 »

  1.   

    以前一个项目里找到的using System.Diagnostics;//首先导入这个命名空间
    Process p = new Process();//实例化一个独立进程
    p.StartInfo.FileName = "cmd.exe";//进程打开的文件为Cmd
    p.StartInfo.UseShellExecute = false;//是否启动系统外壳选否
    p.StartInfo.RedirectStandardInput = true;//这是是否从StandardInput输入
    p.StartInfo.CreateNoWindow = true;//这里是启动程序是否显示窗体
     p.Start();//启动
    p.StandardInput.WriteLine("shutdown -s -t 10");//运行关机命令shutdown (-s)是关机 (-t)是延迟的时间 这里用秒计算 10就是10秒后关机
    p.StandardInput.WriteLine("exit");//退出cmd
      

  2.   


    using System.Diagnostics;//首先导入这个命名空间
    if(txtpwd.text =="12345678")
    {
    Process p = new Process();//实例化一个独立进程
    p.StartInfo.FileName = "cmd.exe";//进程打开的文件为Cmd
    p.StartInfo.UseShellExecute = false;//是否启动系统外壳选否
    p.StartInfo.RedirectStandardInput = true;//这是是否从StandardInput输入
    p.StartInfo.CreateNoWindow = true;//这里是启动程序是否显示窗体
    p.Start();//启动
    p.StandardInput.WriteLine("shutdown -s -t 10");//运行关机命令shutdown (-s)是关机 (-t)是延迟的时间 这里用秒计算 10就是10秒后关机
    p.StandardInput.WriteLine("exit");//退出cmd
    }
    else
    {
    messagebox.show("密码不正确 无法启动关机程序");
    }
      

  3.   

     这上面的代码有个问题,在电脑 运行 里键入  shutdown -a 关机窗口那个还是关闭了,
      

  4.   

    DllImport("user32") ] 
    public static extern long ExitWindowsEx(long uFlags, long dwReserved ) ; 
    [ DllImport("shell32") ] 
    long dwReserved ; 
    const int SHUTDOWN = 1 ; 
    long sh ; 
    int counter , n ; 
    public static extern long ShellAbout(long uFlags, long dwReserved ) ; private void Timer1_Timer(object sender, System.EventArgs e ) 
    { string CurrDate=System.DateTime.Today.ToShortDateString( ) ; 
    string CurrTime=System.DateTime.Today.ToShortTimeString( ) ; 
    if( this.CheckBox1.Checked == true ) 

    if(CurrDate== SetupDate.ToString( ) && CurrTime==SetupTime.ToString( ) ) 
    ColseComputer( ) ; 


    private void ColseComputer( ) 
    { sh = ExitWindowsEx(SHUTDOWN, dwReserved) ; }