2009-06-06 6 views
5

컴퓨터를 최대 절전 모드 또는 일시 중단 모드로 전환시키는 Win32 API가 있습니까?Windows에서 최대 절전 모드 또는 일시 중단 모드를 트리거하는 Win32 API가 있습니까?

MSDN을 읽고 전력 관리 이벤트가 발생할 때 WM_POWERBROADCAST 메시지가 브로드 캐스팅된다는 것을 알았습니다. 나는 PostMessage(WM_POWERBROADCAST)과 같은 시뮬레이션을 생각했다. 이것이 올바른 방법인가요? 아니면이를 달성하기위한 Win32 API가 있습니까?

답변

11

체크 아웃 SetSuspendState을 확인하십시오.

참조 된 msdn 페이지에서 언급 한 것처럼 SE_SHUTDOWN_NAME 권한이 필요합니다.

+0

나를 이길! 귀하의 게시물에 링크가 수정되었습니다. 당신이 꺼리지 않기를 바랍니다. –

1

Ben Schwehn이 게시 한 SetSuspendState가 최선의 방법입니다. win95에서는 SetSystemPowerState를 호출해야합니다. IsPwrSuspendAllowed 및 IsPwrHibernateAllowed 또는 GetPwrCapabilities를 호출하여 시스템이 일시 중단/최대 절전 모드를 지원하는지 여부를 알릴 수도 있습니다.

0

Windows Form 응용 프로그램에서 SetSUspendState (http://msdn.microsoft.com/fr-fr/library/system.windows.forms.application.setsuspendstate.aspx) 메서드를 사용하십시오. 첫 x 째 매개 변수는 SUspend와 최대 절전 모드를 선택할 수 있도록합니다.

비 Windows Forms 응용 프로그램의 경우 Win32 API를 직접 호출하십시오. SetSuspendState 함수는 powrprof.dll 파일에 있습니다.