2010-12-08 4 views
0

시스템 전체에서 마지막 사용자 입력 정보를 제공하는 항목이 있습니까? C#을 사용하여 모든 세션에서 시스템의 유휴 시간을 가져오고 아무도 X 분 동안 시스템을 사용하지 않으면 시스템을 절전 모드로 전환하려고합니다.시스템 유휴 시간을 계산하고 시스템을 잠자기 상태로 만드는 방법은 무엇입니까?

GetLastInputInfo는 사용자마다 다릅니다. http://msdn.microsoft.com/en-us/library/ms646302(VS.85).aspx

+4

왜 Windows가 그렇게하지 못하게합니까? –

+0

로그온 한 사용자에 상관없이 시스템이 유휴 상태 일 때 잠자기 상태로 두는 솔루션입니다. –

+0

유휴중인 시스템은 시스템과 상호 작용하지 않는 사용자와 동일하지 않습니다. 예를 들어, 시스템은 영화 나 음악을 재생 중일 수 있습니다. – Joh

답변

3

Windows Task Scheduler을 사용하고 시스템이 유휴 상태 일 때 시작되는 작업을 등록 할 수 있습니다. 그것은 시스템의 유휴 상태를 결정하는 것은 그리 명백하지 않기 때문에 (적어도 그것이 무엇을 의미하는지 파악하기 위해 기사를 확인하십시오) 가장 좋은 방법입니다. 또한 보안을 사용하여 작업을 보호 할 수도 있습니다. 이에 대한 자세한 내용은 여기를 참조하십시오. Task Idle Conditions

C#에서 작업 스케줄러를 프로그래밍하려면 다양한 래퍼를 사용할 수 있습니다. 적어도 하나는 다음과 같습니다. Task Scheduler Managed Wrapper

관련 문제