PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Comment contrôler que le logiciel est lancé 1,2,3 fois sur un poste ?
Comment contrôler que le logiciel est lancé 1,2,3 fois sur un poste ?
Iniciado por agidrol, 21,feb. 2019 22:55 - 4 respuestas
Miembro registrado
204 mensajes
Publicado el 21,febrero 2019 - 22:55
Bonjour à tous

voila je cherche comment savoir si mon Executable est lancé plusieurs fois sur un poste.
je sais qu'il y a une option lors de la compilation pour interdire de lancer plusieurs fois le programme sur le poste.
Mais moi j'aimerai gerer le nombre de lancement.
1 fois pour certains utilisateur, deux fois pour d'autres etc etc

pensez vous qu'il est possible de connaitre surement dans les processus qui tournent, combien de fois tourne mon EXE ?
ne faut t il pas que le poste soit Administrateur pour avoir ces informations ?

Merci de vos retour

Cordialement

Antoine
Miembro registrado
204 mensajes
Publicado el 21,febrero 2019 - 23:16
Je viens de trouver exelancé(.......)

Merci
Miembro registrado
120 mensajes
Publicado el 22,febrero 2019 - 11:07
Bonjour,
Si tu utilises cette méthode pour limiter les usages concurrents chez tes clients, il serait prudent d'ajouter un test vérifiant le nom de l'exelancé dans ton code.
Sinon je prends ton projet.exe, je le copie en projet1.exe, projet2.exe, etc. et je les lance tous en parallèle.

Pour ma part, je vérifie dans le code d'ouverture du projet avec la ligne suivante

SI Majuscule(ExeInfo(exeNom))<>"PROJET.EXE" ALORS
FinProgramme("Version de programme incorrecte","Le programme va être arrêté",Vrai)
FIN
Miembro registrado
512 mensajes
Publicado el 22,febrero 2019 - 14:40
Bonjour à tous,

Il y a une façon assez simple de contrôler le nombre d'exécutions simultanées du même fichier exécutable sur un ordinateur, en utilisant un sémaphore.
https://fr.wikipedia.org/wiki/Sémaphore_(informatique)


Le WLangage permet de manipuler un sémaphore grâce aux fonctions suivantes :
• SémaphoreCrée()
• SémaphoreDébut()
• SémaphoreFin()
• SémaphoreDétruit()

Dans le cas présent, le nom du sémaphore pourrait être un identifiant de licence, et le nombre de ressources du sémaphore correspondrait au nombre d'exécutions simultanées autorisées.

--
Pour me contacter par courrier électronique, cliquez sur le lien ci-dessous (protection antispam): http://cerbermail.com/…
Mensaje modificado, 22,febrero 2019 - 14:44
Miembro registrado
204 mensajes
Publicado el 22,febrero 2019 - 17:24
C est exact lionel mais ca je le fait effectivement au lancement juste avant mon controle
Jbo je vais regarder aussi ta solution. Merci
Mensaje modificado, 22,febrero 2019 - 17:29