Question

Disons que j'ai une demande écrite en C # appelé EquipCtrl.exe qui fonctionne comme un processus local sur un PC pour contrôler un appareil.

De toute évidence, je voudrais avoir qu'une seule instance de Equipctrl à exécuter sur chaque PC. Si je devais deux donner les moyens de contrôle par PC, je puis limiter à deux instances par PC.

La façon dont je l'ai fait est était l'une des 1. Nom du processus. Je nomme le processus EqCtrl et au processus de démarrage, il compte les processus numériques avec le nom « EqCtrl ». 2. Nom d'exécution. Au démarrage compter le nombre de processus avec le nom d'exécution EquipCtrl.exe. 3. Enregistrement du Registre. 4. enregistrement de base de données SQL Server.

Pour moi, le nom du processus ou la détection de nom d'exécution est le plus simple et ce que je fais la plupart (sinon la totalité) du temps. Mais, ils sont susceptibles de nommer heurt. Même si je vais plus loin pour trouver le chemin d'exécution, la limite peut être contournée en copiant le fichier d'exécution dans un autre dossier.

Quelle est la meilleure façon d'effectuer l'exécution de limiter le .NET? Pourquoi? Est enregistrer registre de la meilleure façon?

Était-ce utile?

La solution

scroll top