码迷,mamicode.com
首页 > 其他好文 > 详细

实现注销 关机 重启计算机

时间:2019-01-22 13:13:08      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:exec   窗口   dos   ansi   charset   eve   obj   bubuko   cts   

实现效果:  

  技术分享图片

知识运用:

  方案1:

    ExitWindowsEx函数 //主要用来退出Windows操作系统   并用特定的选项重新启动 

    uFlags:要执行的操作  dwReserved:保留值 一般为0

    技术分享图片

  方案2:

    调用DOS命令  需使用Process类  (常用属性)

    技术分享图片

                     (常用方法)

    技术分享图片

 实现代码:

      
        [DllImport("user32.dll", EntryPoint = "ExitWindowsEx", CharSet = CharSet.Ansi)]
        private static extern int ExitWindowsEx(int uFlags,int dwReserved);
        private void button1_Click(object sender, EventArgs e)
        {
            ExitWindowsEx(0,0);     //注销
        }

        private void button2_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
            myProcess.StartInfo.FileName = "cmd.exe";           //启动CMD命令
            myProcess.StartInfo.UseShellExecute = false;        //是否使用系统外壳程序启动进程
            myProcess.StartInfo.RedirectStandardOutput = true;  //是否写入流
            myProcess.StartInfo.RedirectStandardInput = true;   //是否从流中读取
            myProcess.StartInfo.RedirectStandardError = true;   //是否将错误信息写入流
            myProcess.StartInfo.CreateNoWindow = true;          //是否在新窗口中启动进程
            myProcess.Start();                                  //启动进程
            myProcess.StandardInput.WriteLine("shutdonw -s -t 0");  //执行关机命令
        }

        private void button3_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
            myProcess.StartInfo.FileName = "cmd.exe";           //启动CMD命令
            myProcess.StartInfo.UseShellExecute = false;        //是否使用系统外壳程序启动进程
            myProcess.StartInfo.RedirectStandardOutput = true;  //是否写入流
            myProcess.StartInfo.RedirectStandardInput = true;   //是否从流中读取
            myProcess.StartInfo.RedirectStandardError = true;   //是否将错误信息写入流
            myProcess.StartInfo.CreateNoWindow = true;          //是否在新窗口中启动进程
            myProcess.Start();                                  //启动进程
            myProcess.StandardInput.WriteLine("shutdonw -r -t 0");  //执行重启命令
        }

  

实现注销 关机 重启计算机

标签:exec   窗口   dos   ansi   charset   eve   obj   bubuko   cts   

原文地址:https://www.cnblogs.com/feiyucha/p/10303098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!