How can my application know if there are any previous instances of this application running, and know when they have terminated.

I want my program to be able to sit and wait until any previous instances of itself has terminated, before displaying a form. So App.PrevInstance is no good because it does not refresh.

The title of the windows in this application will not be constant, the only thing I will know for sure is the path to, and name of the .exe file.

So basically;

Is there some way I can use to determine if windows is running any instances of an executable, that's not the current instance..

Thanks