Okay what wasn't necessarily clear was that if the tabs were being dropped on other specific applications.

Normally when you drag, as you move the mouse around, you identify drop targets.

In your case, all you need to identify is when the window or object you are over isn't a window or object in your application. If the user releases the mouse button outside the main window, you just pass a command line parameter of the file path to the Process class and start up your application.

Presumably each tab is going to be bound to some data that contains the full path to the file. So that when the mouse is released the path can be passed to a new instance of the app.