2

Я не особенно люблю функции управления энергопотреблением в Windows 7.

Я думаю, что это действительно громоздко, поскольку мне кажется, что мне нужно изменить текущий план, чтобы что-то сделать. И иногда я не хочу менять план - иногда я просто хочу дать команду компьютеру сделать все, что он делает, просто не спать автоматически, потому что я что-то скачиваю.

Но, кажется, каждый раз, когда я хочу это сделать, меня заставляют проходить через несколько разных экранов и опций, и затем я должен не забыть сбросить их потом.

Существует ли программа или приложение, которое позволяет мне временно переопределить параметры в моем плане с такими параметрами, как кнопка "Не спать"? Или кнопка "Немедленно выключить монитор" или «Не ложиться спать, когда я закрываю крышку».

3 ответа3

3

Есть бесплатная программа под названием 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;
}
1

Мой любимый способ сделать это без какого-либо дополнительного программного обеспечения - использовать встроенный Mobility Center в Windows. Доступ к нему можно быстро получить с помощью сочетания клавиш [Windows key]+[X] в Windows 8:

Открытие Мобильного Центра

Затем просто включите режим презентации .

Включение режима презентации

Пока этот конкретный режим включен, компьютер не выключит экран и не перейдет в спящий режим.

Единственный недостаток: насколько я знаю, Mobility Center доступен только на мобильных компьютерах.

0

Вы можете написать командный файл, чтобы сделать это. Что-то действительно легкое. В Windows 7 есть команда, позволяющая настроить функции управления питанием. Ваш пакетный файл может быть настроен так, чтобы запрашивать различные функции, и в зависимости от того, как вы ответите, настройки будут изменены. Вот начало. Я использовал эту команду для автоматического отключения функции сна в Windows 7, и она работала хорошо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .