diff options
Diffstat (limited to 'MediaBrowser.ServerApplication/Native/Standby.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/Native/Standby.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/MediaBrowser.ServerApplication/Native/Standby.cs b/MediaBrowser.ServerApplication/Native/Standby.cs new file mode 100644 index 000000000..274c72b25 --- /dev/null +++ b/MediaBrowser.ServerApplication/Native/Standby.cs @@ -0,0 +1,36 @@ +using System.Runtime.InteropServices; + +namespace MediaBrowser.ServerApplication.Native +{ + /// <summary> + /// Class NativeApp + /// </summary> + public static class Standby + { + public static void PreventSystemStandby() + { + SystemHelper.ResetStandbyTimer(); + } + + internal enum EXECUTION_STATE : uint + { + ES_NONE = 0, + ES_SYSTEM_REQUIRED = 0x00000001, + ES_DISPLAY_REQUIRED = 0x00000002, + ES_USER_PRESENT = 0x00000004, + ES_AWAYMODE_REQUIRED = 0x00000040, + ES_CONTINUOUS = 0x80000000 + } + + public class SystemHelper + { + [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] + static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags); + + public static void ResetStandbyTimer() + { + EXECUTION_STATE es = SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED); + } + } + } +} |
