[sharing] efficient app.DoEvents replacement

Use desktop test above, I got no more than 2% CPU usage. At least, it works for my issue :).