none
编写关机程序 RRS feed

  • 问题

  • 我想用c#编写一个设定时间的的关机程序,但是不知道怎么写,不明白怎样与windows连接起来,可以实现关闭计算机,我的系统是win 7的。

    麻烦解答下啊!!!

    2010年8月26日 2:10

答案

  •  

    引用System.Management

     using System.Management;
     
        void Shutdown()
        {
            ManagementBaseObject mboShutdown = null;
            ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem");
            mcWin32.Get();
     
            // You can't shutdown without security privileges
            mcWin32.Scope.Options.EnablePrivileges = true;
            ManagementBaseObject mboShutdownParams =
                     mcWin32.GetMethodParameters("Win32Shutdown");
     
            // Flag 1 means we want to shut down the system. Use "2" to reboot.
            mboShutdownParams["Flags"] = "1";
            mboShutdownParams["Reserved"] = "0";
            foreach (ManagementObject manObj in mcWin32.GetInstances())
            {
                mboShutdown = manObj.InvokeMethod("Win32Shutdown", 
                                               mboShutdownParams, null);
            }
        }


    http://feiyun0112.cnblogs.com/
    2010年8月26日 2:15
    版主
  • 另外两种方法:

    1、调用 ExitWindowsEx 函数。
    2、用 Process.Start 调用命令行 shutdown /s /t 0。


    Mark Zhou
    2010年8月26日 7:54
  • 你好,这是一个现成的codeproject: http://www.codeproject.com/KB/cs/timercomputershutdown.aspx

     

    你也可以参考看看

     

    希望能帮到你

     

    cchitsiang

    2010年8月26日 8:08

全部回复

  •  

    引用System.Management

     using System.Management;
     
        void Shutdown()
        {
            ManagementBaseObject mboShutdown = null;
            ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem");
            mcWin32.Get();
     
            // You can't shutdown without security privileges
            mcWin32.Scope.Options.EnablePrivileges = true;
            ManagementBaseObject mboShutdownParams =
                     mcWin32.GetMethodParameters("Win32Shutdown");
     
            // Flag 1 means we want to shut down the system. Use "2" to reboot.
            mboShutdownParams["Flags"] = "1";
            mboShutdownParams["Reserved"] = "0";
            foreach (ManagementObject manObj in mcWin32.GetInstances())
            {
                mboShutdown = manObj.InvokeMethod("Win32Shutdown", 
                                               mboShutdownParams, null);
            }
        }


    http://feiyun0112.cnblogs.com/
    2010年8月26日 2:15
    版主
  • 另外两种方法:

    1、调用 ExitWindowsEx 函数。
    2、用 Process.Start 调用命令行 shutdown /s /t 0。


    Mark Zhou
    2010年8月26日 7:54
  • 你好,这是一个现成的codeproject: http://www.codeproject.com/KB/cs/timercomputershutdown.aspx

     

    你也可以参考看看

     

    希望能帮到你

     

    cchitsiang

    2010年8月26日 8:08