gpt4 book ai didi

c# - 在 C# 中禁用屏幕保护程序和电源选项

转载 作者:太空狗 更新时间:2023-10-29 20:15:18 27 4
gpt4 key购买 nike

我正在用 C# 编写一个播放电影的应用程序。我需要弄清楚如何使用 C# 禁用屏幕保护程序和电源选项。

我知道 Windows SDK API 有一个名为 SetThreadExecutionState() 的函数可用于执行此操作,但是,我不知道是否有更好的方法来执行此操作。如果没有,我如何将此函数合并到 C# 中?

最佳答案

不确定是否有更好的 .NET 解决方案,但可以通过以下方式使用该 API:

所需的用法:

using System.Runtime.InteropServices;

P/调用:

public const uint ES_CONTINUOUS = 0x80000000;
public const uint ES_SYSTEM_REQUIRED = 0x00000001;
public const uint ES_DISPLAY_REQUIRED = 0x00000002;

[DllImport("kernel32.dll", SetLastError = true)]
public static extern uint SetThreadExecutionState([In] uint esFlags);

然后通过以下方式禁用屏幕保护程序:

SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED);

最后通过将执行状态重置回原始值来启用屏幕保护程序:

SetThreadExecutionState(ES_CONTINUOUS);

请注意,在我的示例中,我只是随机选择了其中一个标志。您需要组合正确的标志以获得您想要的特定行为。你会发现 description of flags on MSDN .

关于c# - 在 C# 中禁用屏幕保护程序和电源选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com