I have made a program that checks all the open windows on the screen, and I have put this code in a Timer

Code:
Private Sub Timer1_Timer()

    Call FindWindowsNow

End Sub
And every time it does this, when moving a window around the screen, the windows on the screen Stops for some milliseconds when the timer updates.

Now, is there a way to make my program call "FindWindowsNow" only when a new window appears on the screen or when a window dissapears from the screen ?