Re: Any way to suppress WM_ACTIVATE message?
"Madhavikutty" <madhaviks@gmail.com> wrote in message
news:1172705073.104738.228420@s48g2000cws.googlegroups.com...
I'm trying to implement idle time detection in my MFC app. If i detect
that the user has been idle, i bring up a dialog for the user to login
again, in the handler for my Main window's WM_ACTIVATE. The problem
is, if the user cancels the login, I should call WM_CLOSE and exit,
but as soon as the login dialog is dismissed, the WM_ACTIVATE message
is dispatched again, so I don't see a way to exit...
Is there any way to suppress the message, or any other way to handle
the re-login?
Lots of ways I imagine.
How about have a static variable in your WM_ACTIVATE handler
static bool bClosed=false;
Then (schematically - NB this is pseudocode!)
if( bNeedToLogOn && !bClosed )
{
bool bLogOnSuccess = DoLogOn();
if( !bLogOnSuccess )
{
PostMessageToSelf( WM_CLOSE );
bClosed=true;
}
}
Next time it comes back after failing to log on bClosed will be true and it
won't try again. Eventually the WM_CLOSE message will be received and it
will shut down.
Of course tthere are some nitty-gritty details like perhaps what to do if
the WM_CLOSE fails to shut down the application, but this should get you
started.
Dave
--
David Webber
Author MOZART the music processor for Windows -
http://www.mozart.co.uk
For discussion/support see
http://www.mozart.co.uk/mzusers/mailinglist.htm