Screen Saver를 동작 못하게 함.

Program Visual C++ 2007. 3. 22. 09:58 Posted by HisPark
XP환경에서 작업 중이었습니다.

PreTranslateMessage() 내에서

//Screen Saver를 동작 못하게 함.

VERIFY(SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, 0, 0));

//Screen Saver를 동작하게 함.

VERIFY(SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, TRUE, 0, 0));



이 방법 외에 다른 방법.



SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT,0,m_uScrSaveTime,0);

SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, 0, NULL, 0);

//Screen Saver를 다시 초기화 함.

SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,m_uScrSaveTime,NULL, 0);



위와 같은 함수를 사용하니 금방 해결되는군요.



WM_SYSCOMMAND, wParam == SC_SCREENSAVE 인 경우 화면보호기가 작동하는 것은 맞습니다만. 여기에 먼저 소개된 방법을 사용해선 화면보호기 종료 처리가 안되었습니다. (XP, Window 2000모두에서)



그럼 즐프하세요.