Es gibt ein kostenloses Programm namens Insomnia, das einen Computer so lange wach hält, wie er läuft.
http://dlaa.me/blog/post/9901642
Da sich der Link bereits einmal geändert hat, wird hier der wichtige Teil der Programmquelle aus dem obigen Link entnommen, sodass er reproduziert werden kann, wenn der Link dauerhaft ausfällt.
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; }