///////////////////////////////////////////////////////////////////////////// // TopWin.cpp : Implementation of CTopWin, hidden top level window for handling system broadcast messages // Copyright (c) Microsoft Corporation 1999-2000. #include #ifndef TUNING_MODEL_ONLY #include #include "vidctl.h" BOOL CTopWin::ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& lResult, DWORD dwMsgMapID) { switch(uMsg) { case WM_TIMER: // // Do something to keep the screen saver from coming alive // //PostMessage(WM_CHAR,0,0); // didn't work // // Query the screen saver timeout value and set said value // to the value we get. This should have no real effect, // so I can't think of any possible side effects even if // this crashes half way through, etc. // if(m_pVidCtl){ if(m_pVidCtl->m_State == STATE_PLAY && m_pVidCtl->m_pVideoRenderer){ CComQIPtr sp_VidVid(m_pVidCtl->m_pVideoRenderer); if(sp_VidVid){ VARIANT_BOOL effects; HRESULT hr = sp_VidVid->get_SuppressEffects(&effects); if(SUCCEEDED(hr) && effects == VARIANT_TRUE){ unsigned int TimeOut; if (SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, &TimeOut, 0) == 0){ TRACELM(TRACE_ERROR, "Could not get screen saver timeout"); } else { if (SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, TimeOut, 0, 0) == 0){ TRACELM(TRACE_ERROR,"Cannot set screen saver timeout"); } else{ TRACELM(TRACE_PAINT,"Successfully reset screen saver timeout"); } } } } } } // No break...fall through case WM_MEDIAEVENT: case WM_POWERBROADCAST: case WM_DEVICECHANGE: case WM_DISPLAYCHANGE: // WM_QUERYENDSESSION? // WM_ENDSESSION? if (m_pVidCtl) { return m_pVidCtl->ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult, dwMsgMapID); } break; case WM_USER + WMUSER_INPLACE_ACTIVATE: if (m_pVidCtl) { TRACELM(TRACE_PAINT, "CTopWin::ProcessWindowMessage() InPlaceActivate()"); m_pVidCtl->InPlaceActivate(OLEIVERB_INPLACEACTIVATE, NULL); } break; case WM_USER + WMUSER_SITE_RECT_WRONG: if (m_pVidCtl) { TRACELM(TRACE_PAINT, "CTopWin::ProcessWindowMessage() OnSizeChange"); m_pVidCtl->OnSizeChange(); } break; } return FALSE; } #endif //TUNING_MODEL_ONLY // end of file - topwin.cpp