C#演示如何關閉電腦、重啟電腦、注銷計算機的代碼,此前記得發過類似的代碼,這一個代碼里包括了豐富的注釋,或許是C#新手比較喜歡的:
1 namespace LCRComputer 2 { 3 public partial class Frm_Main : Form 4 { 5 public Frm_Main() 6 { 7 InitializeComponent(); 8 } 9 [DllImport("user32.dll", EntryPoint = "ExitWindowsEx", CharSet = CharSet.Ansi)] 10 //code www.codesc.net 11 private static extern int ExitWindowsEx(int uFlags, int dwReserved); 12 private void button1_Click(object sender, EventArgs e) 13 { 14 ExitWindowsEx(0, 0);//注銷計算機 15 } 16 private void button2_Click(object sender, EventArgs e) 17 { 18 System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); 19 myProcess.StartInfo.FileName = "cmd.exe";//啟動cmd命令 20 myProcess.StartInfo.UseShellExecute = false;//是否使用系統外殼程序啟動進程 21 myProcess.StartInfo.RedirectStandardInput = true;//是否從流中讀取 22 myProcess.StartInfo.RedirectStandardOutput = true;//是否寫入流 23 myProcess.StartInfo.RedirectStandardError = true;//是否將錯誤信息寫入流 24 myProcess.StartInfo.CreateNoWindow = true;//是否在新窗口中啟動進程 25 myProcess.Start();//啟動進程 26 myProcess.StandardInput.WriteLine("shutdown -s -t 0");//執行關機命令 27 } 28 private void button3_Click(object sender, EventArgs e) 29 { 30 System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); 31 myProcess.StartInfo.FileName = "cmd.exe";//啟動cmd命令 32 myProcess.StartInfo.UseShellExecute = false;//是否使用系統外殼程序啟動進程 33 myProcess.StartInfo.RedirectStandardInput = true;//是否從流中讀取 34 myProcess.StartInfo.RedirectStandardOutput = true;//是否寫入流 35 myProcess.StartInfo.RedirectStandardError = true;//是否將錯誤信息寫入流 36 myProcess.StartInfo.CreateNoWindow = true;//是否在新窗口中啟動進程 37 myProcess.Start();//啟動進程 38 myProcess.StandardInput.WriteLine("shutdown -r -t 0");//執行重啟計算機命令 39 } 40 } 41 }
完整的源碼例子:C# 注銷、關閉和重啟計算機的簡單完整實例及源碼