【发布时间】:2011-05-15 04:31:10
【问题描述】:
如何通过c#代码运行powercfg的功能?
例如我想运行这个,设置关闭显示:从不
powercfg -CHANGE -monitor -timeout -ac 0
【问题讨论】:
如何通过c#代码运行powercfg的功能?
例如我想运行这个,设置关闭显示:从不
powercfg -CHANGE -monitor -timeout -ac 0
【问题讨论】:
用Process.Start调用它:
Process.Start("powercfg", "-CHANGE -monitor -timeout -ac 0");
【讨论】:
您可以调用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);
}
【讨论】:
您可以使用 Process 类从 C# 运行 powercfg。
【讨论】: