Christian Hahn wrote:

Ja, das ist der naheliegende Gedanke. Aber geht das denn? Wie kann
eine Instanz des Programms - selbst wenn sie weiß, dass sie gestartet
ist - verhindern, dass eine weitere Instanz des Programms gestartet
wird?

Es kann dadurch sicher nicht verhindert werden, dass das Programm erneut
gestartet wird. Aber wenn Du bei Programmstart erkennst, dass das
Programm schon gestartet wurde, kannst Du das Programm gleich wieder
beenden.
Das ganze hat nur einen Haken. Wenn Dein Programm gekillt wird oder
abstürzt, bleibt die temporäre Datei zurück und Du kannst es erst
wieder starten, wenn Du die temporäre Datei löschst.

Sicherer wäre es, wenn Du erkennen könntest, welche Programme
derzeit laufen. Keine Ahnung, wie man das abfragt.

Da fällt mir noch eine kompliziertere Idee ein. Du kannst die
temporäre Datei mit einem festgelegtem Text versehen. Wenn die Datei
bei Programmstart vorhanden ist, veränderst Du den Text. Die Laufende
Anwendung muss dann nur rgelmäßig die Datei und den Text prüfen
und ggf. zurücksetzen. Dann erkennst Du auch laufende Programme.

Reichlich Aufwand. Keine Ahnung, ob das lohnt.

MfG, Metti.

Antwort per Email an