【问题标题】:How can run functions of powercfg by C# code?如何通过 C# 代码运行 powercfg 的功能?
【发布时间】:2011-05-15 04:31:10
【问题描述】:

如何通过c#代码运行powercfg的功能?
例如我想运行这个,设置关闭显示:从不

powercfg -CHANGE -monitor -timeout -ac 0 

【问题讨论】:

    标签: c# .net powercfg


    【解决方案1】:

    Process.Start调用它:

    Process.Start("powercfg", "-CHANGE -monitor -timeout -ac 0");
    

    【讨论】:

      【解决方案2】:

      您可以调用Process.Start 来运行可执行文件。

      例如:

      Process.Start(fileName: "powercfg", arguments: "-CHANGE -monitor -timeout -ac 0");
      

      但是,如果您只是在程序运行时尝试禁用自动关闭,则应改为处理 WM_SYSCOMMAND 消息。

      例如:

      protected override void WndProc(ref Message m) {
          const int SC_SCREENSAVE = 0xF140, SC_MONITORPOWER = 0xF170;
          const int WM_SYSCOMMAND = 0x0112;
      
          if (m.Msg == WM_SYSCOMMAND) {
              if ((m.WParam.ToInt64() & 0xFFF0) == SC_SCREENSAVE || (m.WParam.ToInt64() & 0xFFF0) == SC_MONITORPOWER) {
                  m.Result = 0;
                  return;
              }
          }
          base.WndProc(ref m);
      }
      

      【讨论】:

        【解决方案3】:

        您可以使用 Process 类从 C# 运行 powercfg。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-12-12
          • 2020-07-26
          • 1970-01-01
          • 2016-03-18
          • 2013-08-31
          • 1970-01-01
          • 2022-01-06
          相关资源
          最近更新 更多