I would imagine it has something to do with with how windows handles the file association. I know the registry settings that determines what a file opens with, but I don't know where in the registry, if even there, it determines whether to create a new instance of an application or to use an existing opening one; maybe that's something in the program. In the past when I've had those kind of issues I actually made my load routine of my program look for other instances of it running and if it was call a procedure on that other instance to open that file and then I would immediately close the loading instance, thus it never showed up. That was a long time ago and in VB6 and probably wasn't the best way, haven't done anything in that scope in sometime now. Good luck, let us know what you come up with, will be good for knowledge base.