Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- HTML
- udp
- Eclipse
- Android
- UIWebView
- encoding
- java
- MySQL
- iphone
- spring
- permgen space
- Memory
- jQuery
- 티스토리 초대장
- 이클립스
- 톰켓
- C#
- 티스토리 초대
- ios
- 인코딩
- ipad
- jsp
- JavaScript
- 한글
- Objective C
- WebView
- XML
- Tomcat
- Database
- 메모리
Archives
- Today
- Total
suroMind
[C#] 절전모드/화면 꺼짐 방지 본문
참조 : http://msdn.microsoft.com/en-us/library/windows/desktop/aa373208(v=vs.85).aspx
시간이 없어서 화면 꺼지지 안꺼지는지만 테스트를 해봤습니다.
이 부분은 처음 해보는거라 검색을 해도 원하는 자료가 많지 않네요..
마음에 드는 예제소스를 찾지 못해서..ㅜ
msdn사이트에서 참조하였으며 나머지는 테스트해보시길 바랍니다.
public class Win32 {
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
[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
}
public static void PreventScreenAndSleep() {
SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS |
EXECUTION_STATE.ES_SYSTEM_REQUIRED |
EXECUTION_STATE.ES_AWAYMODE_REQUIRED |
EXECUTION_STATE.ES_DISPLAY_REQUIRED);
}
public static void AllowMonitorPowerdown() {
Console.WriteLine(SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS));
}
}
1. c# 프로그램 시작시 Win32.PreventScreenAndSleep(); 함수를 호출 하여 값을 셋팅합니다
화면이 안꺼지는지 테스트 해보시고..
2. 프로그램 Close 될시 Win32.AllowMonitorPowerdown(); 함수를 호출하여 셋팅한 값을 초기화합니다.
프로그램이 종료된 후에는 다시 화면이 꺼져야겠지요?
절전모드나 이런부분도 테스트를 해봐야겠네요~
'IT분야 > C#' 카테고리의 다른 글
| [C#] 윈도우 시작시 프로그램 자동 실행 레지스트리 등록 (0) | 2011.11.03 |
|---|---|
| [C#] 프로그램 관리자 권한 얻기 (1) | 2011.11.03 |
| [C#] XML 직렬화하여 사용하기 (0) | 2011.10.21 |
| [C#]ComboBox 내용 수정 막기 (0) | 2011.10.05 |
| [C#]C#에서 OpenCV 사용하기 (0) | 2011.09.26 |
Comments