class Program
{
[DllImport("powrprof.dll")]
static extern uint PowerSetActiveScheme(IntPtr UserPowerKey, ref Guid SchemeGuid);
static void Main(string[] args)
{
var schemeGuid = new Guid("381b4222-f694-41f0-9685-ff5bb260df2e"); // Replace with the GUID of the power scheme you want to set
PowerSetActiveScheme(IntPtr.Zero, ref schemeGuid);
}
}
class Program
{
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MONITORPOWER = 0xF170;
[DllImport("user32.dll")]
private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
static void Main(string[] args)
{
SendMessage(IntPtr.Zero, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
}
1条答案
按热度按时间jq6vz3qz1#
您可以使用
PowerSetActiveScheme
设置当前用户的活动电源方案。请注意,
PowerSetActiveScheme
函数需要提升权限才能运行,因此您可能需要以管理员身份运行应用程序。您可以使用命令promt中的
powercfg /list
命令或PowerEnumerate
函数获取所有可用的电源模式。要更改Windows中的节能器状态,可以使用Windows API中的
SendMessage
函数向系统发送消息,指示应打开或关闭节能器。另请参阅WM_SYSCOMMAND
详细信息:SC_MONITORPOWER 0xF170设置显示的状态。此命令支持具有节能功能的设备,如电池供电的个人计算机。lParam参数可以具有以下值: