我有一个在 .net 4.5(仅)上运行的控制台应用程序。我试图检测计算机何时从睡眠/休眠模式返回。我尝试使用,Win32.SystemEvents.PowerModeChanged但由于某种原因它不起作用...我使用运行 Windows 10 的 ThinkPad 笔记本电脑,当我拔下充电线时,它确实会触发带有参数 Mode = 的事件PowerModes.StatusChange。
class Program
{
static void Main(string[] args)
{
SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
Console.WriteLine("This application is waiting for system events.");
Console.WriteLine("Press <Enter> to terminate this application.");
Console.ReadLine();
}
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
Console.WriteLine(Enum.GetName(typeof(PowerModes), e.Mode));
File.WriteAllText("test.txt", "test");
}
}
Run Code Online (Sandbox Code Playgroud)
尝试打印到屏幕并写入文件,无法使其工作......
如果有人有想法或不同的方法,最后我需要捕捉计算机何时从睡眠或休眠状态返回。