Je ne sais pas l'environnement que vous utilisez, mais quelque chose à garder à l'esprit au sujet des « applications instance unique » est de savoir comment vous définissez une seule instance. Si l'application peut être exécutée sur plusieurs stations de travail en même temps, en utilisant une source de données commune, est-ce un problème? De même, qu'en est-il de la situation d'un service terminal (ou d'une situation "exécutée") où plus d'un utilisateur est connecté au même ordinateur, voulez-vous restreindre l'application de telle sorte qu'une seule instance par utilisateur, par -ordinateur? Ou êtes-vous d'accord avec cela étant simplement une instance par utilisateur?
La réponse à ceux-ci pourrait vous conduire dans une direction plutôt qu'une autre. Par exemple, nous avons une application 'instance unique' dont la portée est un groupe d'ordinateurs. Un seul utilisateur est autorisé sur ce groupe de stations de travail. Nous avons géré cela en ayant une table dans notre source de données partagée qui suivait les utilisateurs actuellement connectés. C'est un problème de maintenance car vous devez vous assurer que la table est précise à 100% tout le temps. Manipuler des choses comme des coupures de courant inattendues sur le poste de travail, en laissant des enregistrements «fictifs» dans cette table a pris une manipulation prudente.
S'il vous plaît montrer le code en réponse. Le premier lien était mort et d'autres pourraient éventuellement suivre. – nothingisnecessary