ShareX/ShareX.HelpersLib/SingleInstanceApplication
Brian 29e8e739e3 Proper Single Instance Implementation
Reworked single instance code to better handle being launched with
context menu.

Previously:
- On launch, process would try to open an `EventWaitHandle`. If it
didn't exist, then process assumed it was first and created it
- Multiple processes launching at same time would all see the
`EventWaitHandle` did not exist before any process could create it
- This led to multiple instances of program running

Now a mutex is used:
- Processes will all try to open the mutex. Only first one will succeed
- Process that opens the mutex will setup the `EventWaitHandle`
- Other processes won't get the mutex and will be directed to use the
`EventWaitHandle` to pass their command line args to the running
instance
2016-03-10 16:29:01 -05:00
..
ApplicationInstanceManager.cs Proper Single Instance Implementation 2016-03-10 16:29:01 -05:00
InstanceProxy.cs Proper Single Instance Implementation 2016-03-10 16:29:01 -05:00