But you still need to know exactly how to launch each application. This is not something that you should be building in to your code - the user must specify any command-line options themselves, because applications change. And your idea still relies on the user having run each application in order to get it to 'register' itself.