c# - 如何检查我的电脑是否退出 sleep 模式

标签 c# .net-core

我能找到的所有资源都解释了如何使用 .NET Framework 检查 PC 是否处于 sleep 模式,但我必须使用 .NET Core,因为我的应用程序必须是跨平台的。

我想复制像下面这样的东西,它需要 .NET Framework 并且可以检查 PC 是否离开 sleep 模式

SystemEvents.PowerModeChanged += OnPowerChange;

private void OnPowerChange(object s, PowerModeChangedEventArgs e) 
{
    switch ( e.Mode ) 
    {
        case PowerModes.Resume: 
        break;
        case PowerModes.Suspend:
        break;
    }
}

是否有使用纯 .NET Core 的解决方案,或者是否有我可以导入和使用的用 C/C++ 编写的 DLL?

最佳答案

“PowerModeChangedEvent”可能对您有用,您可以在 .net 核心控制台应用程序中为此安装一个 Nuget 包。

package management screen

您需要确保引用 using Microsoft.Win32; 命名空间,并且您需要做一些研究(http://www.blackwasp.co.uk/DetectPowerEvents.aspx - 可能有用)关于如何将其应用于您的特定场景。

关于c# - 如何检查我的电脑是否退出 sleep 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53553287/

相关文章:

c# - 使用 C# 确定进程的内存对齐

c# - 用对象数组修补对象

c# - 将 Serilog 与 Caliburn Micro .Net Core 3.1 结合使用

c# - 使用 WindowsXamlHost Overlay 托管 CaptureElement

c# - ASP.NET Core 2 的 SignInManager 依赖注入(inject)失败

c# - 当 app.config 打算在多台机器上使用时,如何保护它的安全?

C# WPF 以编程方式在项目中设置构建属性

c# - ASP.NET WebAPI 基本身份验证总是失败,因为 401/未授权

c# - Entity Framework Core 2.0 添加迁移不生成任何内容

msbuild - ITask 在 .Net Core 项目构建过程中无法加载