The main challenge with this approach is the non technical users

The machine it uses is not on
OK so it is on a server but the process did not work and has hung and no one can easily see it
Users are not allowed to touch servers as they are in control of an IT dept etc

There is no perfect solution.

I'm looking at the file locks route at the moment and whilst it isn't perfect either it has one big advantage and that is that the lock is automatically released when the program exits or more importantly crashes or PC simply switched off etc etc