no sé el ambiente que se está operando en, pero es algo a tener en cuenta acerca de instancia única 'aplicaciones' es cómo se defina de instancia única. Si la aplicación se puede ejecutar en varias estaciones de trabajo al mismo tiempo, utilizando un origen de datos común, ¿es eso un problema? Del mismo modo, ¿qué ocurre con una situación de servicios de terminal (o una situación de "ejecutar como") donde más de un usuario está conectado a la misma computadora? ¿Desea restringir la aplicación de forma tal que solo una instancia por usuario, por -¿computadora? ¿O estás de acuerdo con que sea simplemente una instancia por usuario?
La respuesta a esto podría llevarlo en una dirección sobre otra. Por ejemplo, tenemos una aplicación de "instancia única" cuyo alcance es un grupo de computadoras. Solo se permite un usuario dentro de ese grupo de estaciones de trabajo. Logramos esto al tener una tabla en nuestra fuente de datos compartida que rastreó a los usuarios actualmente conectados. Este es un problema de mantenimiento, ya que necesita asegurarse de que la tabla sea 100% precisa todo el tiempo. Manejar cosas como cortes de energía inesperados en la estación de trabajo, dejando registros "falsos" en esa tabla tomaron un manejo cuidadoso.
Por favor, muestre el código en la respuesta. El primer enlace estaba muerto, y otros pueden seguir su ejemplo. – nothingisnecessary