Eine Problemlösung für das "nicht mehrmals laufen" könnte sein:
- separates Dienstprogramm das z.B. über einen TCP-Port von "Alarm.exe" gerufen wird und die Übermittlung an den COM-Port macht
- .lock-Datei schreiben, weitere Aufrufer warten bis diese verschwindet, erster, der "durchkommt" schreibt wieder eine .lock-Datei
- .lock.<zeitstempel> - Dateien schreiben, baut eine Warteschlange auf, jeder Aufruf entfernt "seinen" Eintrag, und wartet vor dem Starten ob alle "vor ihm" fertig sind