I have never done anything like this, but have seen similar posts and hope I can point you in the right direction.

Try using the API call for getwindow to look at the crystal previewer window - http://www.vbapi.com/ref/g/getwindow.html

If a 0 is returned, this will tell you that it doesn't exist (or the window has been shut). You could do a loop, doevents, or a timer for every second to check if the window is till open, and if not to excecute your code.

I hope this helps you