簡體   English   中英

C# 睡眠檢測 PowerModeChanged

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM