C# 设置注销、关闭、重新启动计算机

        //设置注销、关闭、重新启动计算机参数
        [DllImport("user32.dll", EntryPoint = "ExitWindowsEx", CharSet = CharSet.Ansi)]
        private static extern int ExitWindowsEx(int uFlags, int dwReserved);

        //注销计算机
        public void logout()
        {
            DialogResult dr = MessageBox.Show("客户请求注销计算机,确定注销吗?", "注销计算机", MessageBoxButtons.OKCancel);

            if (dr == DialogResult.OK)//如果点击“确定”按钮
            {
                ExitWindowsEx(0, 0);
            }
        }
        //关闭计算机
        public void closepc()
        {
            //创建访问控制本地系统进程的对象实例
            DialogResult dr = MessageBox.Show("客户请求关闭计算机,确定关闭计算机吗?", "关闭计算机", MessageBoxButtons.OKCancel);
            if (dr == DialogResult.OK)//如果点击“确定”按钮
            {
                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");
            }
        }
        //重新启动计算机
        public void afreshstartpc()
        {
            DialogResult dr = MessageBox.Show("客户请求重新启动计算机,确定重新启动计算机?", "重新启动计算机", MessageBoxButtons.OKCancel);
            if (dr == DialogResult.OK)//如果点击“确定”按钮
            {
                //创建访问控制本地系统进程的对象实例
                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 -r -t 0");
            }
        }

 

posted @ 2013-02-18 11:04  je5  阅读(306)  评论(0编辑  收藏  举报