加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

实现注销 关机 重启计算机

发布时间:2020-12-14 02:36:20 所属栏目:Windows 来源:网络整理
导读:实现效果: 知识运用: 方案1: ExitWindowsEx函数 // 主要用来退出Windows操作系统 ? 并用特定的选项重新启动? uFlags :要执行的操作 dwReserved :保留值 一般为 0 方案2: 调用DOS命令 ?需使用Process类 ( 常用属性 ) (常用方法) ? 实现代码: [DllImpor

实现效果:  

  

知识运用:

  方案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");  //执行重启命令
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读