Pour savoir si votre application a déjà été lancé, il suffit lors du premier lancement de créer un fichier dans le répertoire de l'application.
Ainsi, au deuxieme lancement vous testez la presence de ce fichier. si il existe on ferme l'application immediatement.
pour resumer dans la fonction OPEN de la FORM :
IF NOT exist(mypath) THEN
myFile = OPEN mypath FOR create CLOSE #myFile ELSE me.CLOSE ENDif
Dans la fonction CLOSE de la FORM :
kill application.path &"/myfile" 'efface fichier deja ouvert
LA documentation de KILL fermeture de fichier KILL :