2009-03-03 2 views
4

나는 모니터 전원을 끄기 위해 이미 몇 가지 코드를 사용하고 있지만 여전히 약간의 문제가 있습니다.C#에서 모니터 전원을 올바르게 끄려면 어떻게해야합니까?

코드는 대부분 잘 동작하지만 잠시 동안은 모니터가 공백으로 바뀝니다. 이 말은 화면이 완전히 검게 보이고 아무 것도 볼 수 없지만 여전히 켜져 있다는 것을 알 수 있습니다. LCD 표시등은 여전히 ​​켜져 있지만 화면은 완전히 검은 색입니다. 이런 일이 발생하는 이유

은 내가 X 분 후에 모니터를 끄려면 Windows 전원 설정을 설정하면이 발생하지 않을 이유는 ... 어쩌면 당신의 일부가 알고, 아무 생각이 없다,하지만 난 그래서 나는이 작업을 수행하는 응용 프로그램이 필요합니다 필요할 때마다 바로 가기로 호출 할 수 있습니다.

[System.Runtime.InteropServices.DllImport("user32.dll")] 
private static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam); 

const int WM_SYSCOMMAND = 0x0112; 
const int SC_MONITORPOWER = 0xF170; 
const int HWND_BROADCAST = 0xFFFF; 

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2); 

어떤 아이디어 :

내가 사용하고 코드는 다음과 같은 것입니다?

답변

1

여러 대의 컴퓨터에서 테스트 해 보셨습니까? 드라이버 문제 일 수 있습니다 ...

+0

아니요, 오직 내 것입니다. 그게 내가 원하는대로 작동하는 ... –

4

모든 창에 해당 메시지를 브로드 캐스팅하지 않으려합니다. 당신은 당신이 기대하는대로 그것을 처리하기 위해 모든 사람에게 의지하고 있습니다.

당신은 당신의 자신을 만들고 동작을 제어 할 수 있도록 만에 메시지를 보내야합니다.

레이몬드 첸이 게시물의 코멘트에 몇 가지 솔루션을있다 : http://blogs.msdn.com/oldnewthing/archive/2006/06/13/629451.aspx

+1

+1 방송은 많은 고약한 문제를 일으킬 수 있습니다. –

+0

나는 기회와 보고서를 얻을 때 그 링크를 읽을 것이다 : –

+0

그것은 작동하지 않았다 ... LCD 표시등이 항상 꺼지지 않는다. ( –

0

아무것도 난 내 자신의 창을 만들고 그 창 핸들을 사용하고 대부분의 시간은, 화면이 꺼진 상태로 완전히이다, 일하지 블랙 (LCD 표시등이 꺼져), 그러나 때때로, LCD에 빛 내가 너무이 문제를 가지고

0

:(... 꺼지지 않습니다. 기계는 종종 알려진 바 없음에 대해 다음 작업을 확인하고, 기계 logg 때 이유, 늘 잠 화면이. 나는 구체적인 공통점을 찾을 수 있습니다.

심지어 발생 에드 아웃. 대개 1 번 재부팅하면 문제가 해결됩니다. 항상 그런 것은 아닙니다.

난 화면이 일어나 로그 아웃 된 시스템에 다시 잠을 거부 본 적이 아무도 그것과 상호 작용하지 않습니다.

분명히 비난하는 일부 프로세스 나 프로세스가있다,하지만 어떻게 당신이 그들을 추적합니까?

관련 문제