I needed a way to launch an application, but ensure only one instance of the application is launched even if called multiple times.
For my own use, I use it with an Elgato StreamDeck to launch application like OBS and Chrome, but only want them to launch the once and if already launched bring the application to the foreground. It can also be used with other launchers ie. iCUE to start applications as well.
To use the application simply call the executable with the path to the required application along with any additional arguments required for the application.
If the application executable is not in the list of running processes, then it will be launched using the supplied arguments.
For example to launch OBS I use the following command in StreamDeck
C:\Utilities\OpenOnce.exe "C:\Program Files\obs-studio\bin\64bit\obs64.exe"
OpenOnce.zip