Re: [GD-Windows] Alt+Tab in fullscreen with no other apps running
Brought to you by:
vexxed72
From: Oscar C. <oc...@fr...> - 2007-09-06 14:27:00
|
Replying to my own post... I eventually got it working by recording the HWND passed with the WM_CANCELMODE message, then next time around my game loop calling ShowWindow( hWnd, SW_MINIMIZE ). This may not be the ideal solution to the problem so I'd still be interested in hearing if there's a better way. Thanks to all who helped, Oscar. ----- Original Message ----- From: "Oscar Cooper" <oc...@fr...> To: "Game Development for MS Windows" <gam...@li...> Sent: Thursday, September 06, 2007 12:54 PM Subject: Re: [GD-Windows] Alt+Tab in fullscreen with no other apps running >I still haven't got this working, testing under WinXP :-( > > Alen's idea gets me most of the way there, but my window gets restored > immediately after being minimised. Looking through the windows message > trace, it looks like the minimise completes successfully: the > WM_SYSCOMMAND > triggers a bunch of further messages including the WM_ACTIVATE > (WA_INACTIVE) > and WM_ACTIVATEAPP (wParam=FALSE). However I then immediately get a > WM_ACTIVATE (WA_ACTIVE) message, which I assume is generated by Windows in > response to certain properties of my window or because I'm not handling > some > messages correctly. > > In addition to Alen's code I've also tried experimenting with the window > style flags, and even tried calling SetWindowPos to force my window first > to > the bottom of the z-order and then again to put it back on top, to make > sure > it's not TOPMOST, but I'm still missing something. > > I hate working with API's I don't know very well, I feel like such a n00b > ;-> > > Can anyone bail me out? > > Cheers, > > Oscar. > > > > ----- Original Message ----- > From: "Alen Ladavac" <ale...@cr...> > To: <gam...@li...> > Sent: Tuesday, September 04, 2007 5:03 PM > Subject: Re: [GD-Windows] Alt+Tab in fullscreen with no other apps running > > >> Hi Oscar, >> >> IIRC, we've always been doing something like >> >> if( (msg.message==WM_ACTIVATE && (LOWORD(msg.wParam)==WA_INACTIVE || >> HIWORD(msg.wParam))) >> || msg.message==WM_CANCELMODE >> || msg.message==WM_KILLFOCUS >> || (msg.message==WM_ACTIVATEAPP && !msg.wParam)) { >> >> if (bInFullScreen) { >> PostMessage(NULL, WM_SYSCOMMAND, SC_MINIMIZE, 0); >> } >> >> That seems to work for us, YMMV. >> >> HTH, >> Alen >> >> Oscar wrote: >> >>> Hi, >> >>> Does anyone know if there's something I have to do (or avoid doing) to >>> make >>> my game minimise when the player hits Alt+Tab whilst running in >>> fullscreen >>> with no other apps running? >> >>> My game isn't minimising in pre-Vista versions of Windows, but other >>> games >>> seem to do so. Windows isn't sending me any WM_ACTIVATE or >>> WM_ACTIVATEAPP >>> messages. I am getting WM_NCACTIVATE and WM_CANCELMODE, and I'm passing >>> these on to the default WndProc expecting it to handle any necessary >>> plumbing. >> >>> With other apps running the Alt+Tab behaviour is correct in fullscreen, >>> but >>> in this case Windows is sending me a completely different sequence of >>> messages. >> >>> Thanks in advance, >> >>> Oscar Cooper >>> Lead Programmer >>> Frontier Developments Ltd >> >> >> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Splunk Inc. >>> Still grepping through log files to find problems? Stop. >>> Now Search log events and configuration files using AJAX and a browser. >>> Download your FREE copy of Splunk now >> http://get.splunk.com/ >>> _______________________________________________ >>> Gamedevlists-windows mailing list >>> Gam...@li... >>> https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows >>> Archives: >>> http://sourceforge.net/mailarchive/forum.php?forum_id=555 >> >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> Gamedevlists-windows mailing list >> Gam...@li... >> https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows >> Archives: >> http://sourceforge.net/mailarchive/forum.php?forum_id=555 >> > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > |