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
>
|