C#睡眠检测电源模式已更改
我想让我的程序在计算机进入睡眠状态时写入控制台,但我无法这样做。我想这是我设置的错误。这是我所拥有的 编辑:新建.cs文件C#睡眠检测电源模式已更改,c#,C#,我想让我的程序在计算机进入睡眠状态时写入控制台,但我无法这样做。我想这是我设置的错误。这是我所拥有的 编辑:新建.cs文件 using LightFX; using System; using System.Threading; using System.Text; using Microsoft.Win32; using ConsoleApplication3; namespace SampleApp5 { class Program { static voi
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.PowerModeChanged += OnPowerModeChanged;
您需要在主方法中的某个位置执行此操作
当然,还要删除自定义委托,因为它已经由框架定义。您不需要这一行:
公共静态事件PowerModeChangedEventHandler
电源模式改变
更新:
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);
}
}
这不管用吗当我输入“SystemEvents.PowerModeChanged+=PowerModeChanged;”时,.PowerModeChanged上出现一个错误,表示它是一个用作类型的事件。这是什么意思?@jister:你删除事件定义了吗?此外,您可能需要考虑将事件处理程序/方法重命名为代码> PoPoMeDeDebug 到<代码> OnPotoMyDeDebug 。仍然有一个错误。PowerModeChanged是一个事件,但使用起来像type@jister:请参阅更新。我觉得您不太熟悉基本的C#编程,也不太熟悉基于事件的编程模型。在继续之前,您可能应该对此进行一些阅读。不要为此创建控制台应用程序,只需使用不创建/显示任何窗体的Windows窗体应用程序即可。更容易保持运行,并且不显示不必要的控制台窗口。