Any app-instance could create a flag-file (with the process-number, date and a random number as filename) and hold a write lock on it.
The other app-instances could checking the file (and if its not-possible get the write lock, to check if the process is currently running)
Wouldn’t this be a great job for ApplicationProperties-Class, which could be extended to have consistent access the same properties on the same machine.
The first instance could be some kind of manager, which adds/removes the delta-data of the other instances.
BTW: I don’t think working with file-flags is a naive way, i think its most reliable way, because the behavior is well defined and consistent across different OS, if you working with locks.