在 Windows 7 中临时更改能源设置,而无需更改电源计划

在 Windows 7 中临时更改能源设置,而无需更改电源计划

我并不特别喜欢 Windows 7 的能源管理功能。

我觉得这真的很麻烦,因为我似乎必须更改当前计划才能做任何事情。有时我不想更改计划 - 有时我只想指示计算机完成它正在做的所有事情,只是不要因为我正在下载某些东西而自动进入睡眠状态。

但似乎每次我想要这样做时,我都必须浏览许多不同的屏幕和选项,然后我必须记住随后将其重置。

有没有办法暂时覆盖我的计划中的选项,例如“不进入睡眠状态”按钮?或者“立即关闭显示器”按钮或“关闭盖子时不进入睡眠状态”按钮?

答案1

有一个名为 Insomnia 的免费程序,只要计算机正在运行,它就会保持唤醒状态。

http://dlaa.me/blog/post/9901642


由于链接已经更改过一次,这里是从上面的链接中获取的程序源的重要部分,以便在链接永久断开时可以重现它。

public partial class Window1 : Window
{
    private uint m_previousExecutionState;

    public Window1()
    {
        InitializeComponent();

        // Set new state to prevent system sleep (note: still allows screen saver)
        m_previousExecutionState = NativeMethods.SetThreadExecutionState(
            NativeMethods.ES_CONTINUOUS | NativeMethods.ES_SYSTEM_REQUIRED);
        if (0 == m_previousExecutionState)
        {
            MessageBox.Show("Call to SetThreadExecutionState failed unexpectedly.",
                Title, MessageBoxButton.OK, MessageBoxImage.Error);
            // No way to recover; fail gracefully
            Close();
        }
    }

    protected override void OnClosed(System.EventArgs e)
    {
        base.OnClosed(e);

        // Restore previous state
        if (0 == NativeMethods.SetThreadExecutionState(m_previousExecutionState))
        {
            // No way to recover; already exiting
        }
    }

    private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
    {
        // Start an instance of the NavigateUri (in a browser window)
        Process.Start(((Hyperlink)sender).NavigateUri.ToString());
    }
}

internal static class NativeMethods
{
    // Import SetThreadExecutionState Win32 API and necessary flags
    [DllImport("kernel32.dll")]
    public static extern uint SetThreadExecutionState(uint esFlags);
    public const uint ES_CONTINUOUS = 0x80000000;
    public const uint ES_SYSTEM_REQUIRED = 0x00000001;
}

答案2

我最喜欢的方式是使用内置的移动中心的。可以使用 Windows 8 的 [Windows 键]+[X] 快捷方式快速访问:

开设移动中心

然后只需切换演示模式到 開 。

开启演示模式

只要打开此特定模式,计算机就不会关闭屏幕,也不会进入睡眠状态。

唯一的缺点:据我所知,移动中心仅适用于移动计算机。

答案3

您可以编写一个批处理文件来执行此操作。这真的很简单。Windows 7 中有一个命令允许您调整电源管理功能。可以设置您的批处理文件以提示您使用不同的功能,并根据您的回答更改设置。这是一个开始。我曾用此命令自动禁用 Windows 7 中的睡眠功能,效果很好。

答案4

Microsoft PowerToys 有一个“Awake”实用程序,可以抑制睡眠模式数小时。

清醒截图

查看此处的文档:https://learn.microsoft.com/en-us/windows/powertoys/awake

相关内容