du musst bei öffnen des programmes prüfen ob dein Programm schon geöffnet ist.
Wenn ja musst du einfach die Parameter per Sendmessage (oder sei einfach kreativ) an dein bereits laufendes Programm weiterreichen und dann das als zweites gestartete Programm schließen. feststellen ob dein programm schon gestartet ist kannst du mit CreateMutex. Das bereits laufende Instanz deines Programmes kannst du mit FindWindow finden und wie du die Daten übertragen kannst ist zum Beispiel hier:
http://www.delphipraxis.net/internal...=221044#221044
einfach den Quelltext im Anhang mal ansehen