"Sean Hederman" <em*******@codingsanity.blogspot.com> wrote in message
news:d2**********@ctb-nnrp2.saix.net...
"Willy Denoyette [MVP]" <wi*************@telenet.be> wrote in message
news:eN**************@TK2MSFTNGP10.phx.gbl...
"Frank Rizzo" <no****@nospam.com> wrote in message
news:OP**************@TK2MSFTNGP09.phx.gbl... Hello,
I have a dozen 3rd party controls on my form. I am trying to detect
when the application is idle. But even after the mouse and the keyboard
are no longer moving, something is still triggering the Application.Idle
event. There are no Timers on the form (i removed them all after
realizing that WM_TIMER message will cause the event to fire). Anyway,
how can I figure out which control is triggering the application_idle
event?
Thanks.
Try Spy++ or this Winspy available for download from
http://www.windows-spy.com/ and watch the messages posted/sent to your
visible/hidden windows.
The Application.Idle event is raised when the IMsoComponent.FDoIdle method
is called on ThreadContext. I'm not sue what does the calling, but I
suspect it's the runtime, not window messages.
I know, OP's description is misleading - <something is still triggering the
Application.Idle >
It should read - something is preventing the Application.Event to be fired -
, simply because some window messages are still arriving on the message
queue(s). Using something like Spy++ makes it possible to trace these
messages and find-out their source.
Willy.