Временно измените настройки энергопотребления, не меняя план электропитания в Windows 7

2034
RoboShop

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

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

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

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

2
Связано: [запретить сон в скриптах] (// superuser.com/q/90415) sch 7 лет назад 0

3 ответа на вопрос

3
Patrick Seymour

Есть бесплатная программа под названием 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; } 
Спасибо, это работает! хотя я мог бы поиграть с программой немного, чтобы иметь некоторые дополнительные функции, которые я хочу. RoboShop 12 лет назад 0
1
LorenzCK

My favorite way of doing this without any additional software is to use the built in Mobility Center of Windows. It can be quickly accessed using the [Windows key]+[X] shortcut of Windows 8:

Opening Mobility Center

Then simply switch Presentation Mode to on.

Turning presentation mode on

As long as this particular mode is on, the computer will not turn off the screen and will not go to sleep.

Only downside: Mobility Center is only available on mobile computers, as far as I know.

0
bourne

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

Пост Патрика С. заставил меня вспомнить [это] (http://www.zhornsoftware.co.uk/caffeine/). отличное небольшое приложение под названием кофеин. Выполните, и он будет работать, пока вы не закроете его! bourne 12 лет назад 0