发新话题
打印

C#写的自动关机及执行CMD命令

本帖已经被作者加入个人空间

C#写的自动关机及执行CMD命令

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace WindowsApplication1
...{
    public partial class Form1 : Form
    ...{
        int i = 0;
        private int ti;
        public Form1()
        ...{
            InitializeComponent();
            timer1.Enabled = false;
        }
        public string CmdPc(string cmdinput)
        ...{
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.CreateNoWindow = true;
            try
            ...{
                p.Start();
                p.StandardInput.WriteLine(cmdinput);
                p.StandardInput.WriteLine("exit");
                string ss=p.StandardOutput.ReadToEnd();
                p.WaitForExit();
                p.Close();
                return ss;
            }
            catch
            ...{
                string ss = "命令执行失败";
                return ss;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        ...{
            //label1.Text = ClosePc();
            if (textBox2.Text != "")
            ...{
                ti = Convert.ToInt32(textBox2.Text);
                timer1.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
                button1.Enabled = false;

            }
            else ...{ label4.Text = "请输入时间,单位/分钟"; }
        }

        private void timer1_Tick(object sender, EventArgs e)
        ...{
            
            if (ti - i == 1)//从5开始到计时
            ...{
                timer1.Enabled = false;
                label4.Text = "时间到,关机!!";
                label1.Text = CmdPc("Shutdown.exe -s -f");
                button4.Visible = true;
            }
            else
            ...{
                i++;
                string j = (ti - i).ToString();
                label4.Text = j;
            }         

        }

        private void button3_Click(object sender, EventArgs e)
        ...{
            timer1.Enabled = true;
            button4.Enabled = true;
            button1.Enabled = true;
        }

        private void button2_Click(object sender, EventArgs e)
        ...{
            label1.Text=CmdPc(textBox1.Text);
        }
        private void button4_Click_1(object sender, EventArgs e)
        ...{
            timer1.Enabled = false;
            button4.Enabled = false;
            button1.Enabled = true;
            label4.Text = "停止";
        }

        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        ...{
            if (e.KeyChar == 13)
            ...{
                ti = Convert.ToInt32(textBox2.Text);
                timer1.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
                button1.Enabled = false;
            }
        }



    }
}
回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

TOP

发新话题