我一直在网上搜索大约一个小时,并在stackoverflow和其他网站上尝试了所有不同的策略,但由于某种原因我无法让它工作。我希望我的程序在计算机上写入计算机,但它无法这样做。我想我错了。这就是我的......
编辑:新的.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
{
}
}
答案 0 :(得分:3)
该事件由SystemEvents
类引发(它是一个静态事件)。你只需要绑定它:
SystemEvents.PowerModeChanged += OnPowerModeChanged;
您需要在main方法中的某个位置执行此操作。
当然,删除自定义委托,因为它已经由框架定义。你不需要这一行:
公共静态事件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.
}
答案 1 :(得分:1)
你有mabye找到你要找的东西,但仍然...... 这段代码适合我:
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);
}
}