728x90
//절전 모드 방지
[FlagsAttribute]
public enum EXECUTION_STATE : uint
{
ES_AWAYMODE_REQUIRED = 0x00000040,
ES_CONTINUOUS = 0x80000000,
ES_DISPLAY_REQUIRED = 0x00000002,
ES_SYSTEM_REQUIRED = 0x00000001
// Legacy flag, should not be used.
// ES_USER_PRESENT = 0x00000004
}
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
private void Prevent_Screensaver(bool enable)
{
if (enable) SetThreadExecutionState(EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS);
else SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS);
}
//절전 모드 방지 END
private void Form1_Shown(object sender, EventArgs e)
{
//절전 모드 방지
Prevent_Screensaver(true);
}
컴퓨터가 절전모드에 들어가면 프로그램이 종료되는 문제가 있어서 이것저것 디버깅을 해도 답이 나오지 않아서
간단하게 컴퓨터를 절전모드에 못들어가게 해버렸다.
.net 5.0 윈폼으로 만든거라서 그런지 이런저런 버그가 많은거 같다.
출처: https://stackoverflow.com/questions/49045701/prevent-screen-from-sleeping-with-c-sharp
728x90
'C#' 카테고리의 다른 글
C# / Panel 에 추가된 UserControl 제거시 Memory leak 디버깅 (0) | 2021.10.05 |
---|---|
C# / UserControl Close Event / 유저컨트롤 닫힘 이벤트 (0) | 2021.10.05 |
C# / 도구 상자 항목 ' ' 을(를) 로드하지 못했습니다. 해당 항목은 도구 상자에서 제거됩니다. / 유저 컨트롤 (1) | 2021.08.10 |
C# / 응용 프로그램이 중단 모드에 있습니다 해결 방법 (0) | 2021.06.18 |
C# / 파이어베이스, 파이어스토어 동기 실행, c# firestore firebase Synchronous (0) | 2021.06.18 |