![](/img/trans.png)
[英]C#, SystemEvents.PowerModeChanged event is not raised on sleep or resume
[英]C# Sleep Detection PowerModeChanged
我希望我的程序在計算機進入睡眠狀態時寫入控制台,但我無法這樣做。 我想我設置錯了。 這是我所擁有的...
編輯:新的 .cs 文件
using LightFX;
using System;
using System.Threading;
using System.Text;
using Microsoft.Win32;
using ConsoleApplication3;
namespace SampleApp5
{
class Program
{
static void Main()
{
}
SystemEvents.PowerModeChanged += PowerModeChanged;
}
class PowerModeChanged
{
}
}
該事件由SystemEvents
類引發(它是一個靜態事件)。 你只需要綁定到它:
SystemEvents.PowerModeChanged += OnPowerModeChanged;
您需要在您的主要方法中的某處執行此操作。
而且,當然,刪除您的自定義委托,因為它已經由框架定義。 你不需要這一行:
公共靜態事件 PowerModeChangedEventHandler PowerModeChanged;
更新:
static void Main()
{
SystemEvents.PowerModeChanged += OnPowerModeChanged;
Console.ReadLine(); //just wait, don't exit immediately.
}
private static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
//Handle the event here.
}
你已經找到了你要找的東西,但仍然......這段代碼對我有用:
using System;
using Microsoft.Win32;
class Powerstatus
{
static void Main(string[] args)
{
SystemEvents.PowerModeChanged +=
new PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);
Console.ReadLine();
}
static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
Console.WriteLine(e.Mode);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.