------解决方案-------------------- 用ExitWindowsEx的确可以关机,但在XP需要提升权限才行(如果是注销则不用),而提权的过程在C++中就比较麻烦,在C#中还要定义很多struct,非常麻烦,所以建议使用dos命令: using System.Diagnostics;
C# code
void ShutDown()
{
Process p = new Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "cmd";
p.StartInfo.Arguments = "/c shutdown -s -t 0";
p.Start();
}