IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Connaitre le nombre d'éxécution d'une application


Sujet :

C++Builder

  1. #1
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut Connaitre le nombre d'éxécution d'une application
    Bonjour,

    j'ai un petit soucis sur mon application que je dois rendre compatible TSE.
    Si j'ai trouvé ce que j'ai à faire pour que cette dernière fonctionne sans soucis en TSE, on me demande également de pouvoir limiter le nombre d'exécution simultanée (pour ainsi vendre des packs de X licences) mais je ne vois pas comment faire pour savoir le nombre de fois où mon application a été exécutée sur le serveur TSE...

    Merci pour toute information

    Cordialement.
    + + +

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    Salut

    Un ccpwebbrowser invisble ou tout autre qui permet d executer une requete http .

    Un site avec une base de donnée sql par exemple
    Un script php qui incremente un champ à l exectuion du porgramme
    Un autre qui qui decremente le champ à la fermeture du programme

    Tu peux eventuellemnt recuperer le numero de serie du disque dur pour un second champ
    Pourquoi ? Le soft peut etre installé pour plusieurs utilisateurs et l ip qu peut etre dynamique n est pas fiable
    Ce nouveau champ pourrait permettre de trouver le nombre de machine distincte où est installé le soft

    Enfin un troisieme script qui te permet de visualiser les infos avec pourquoi pas une methode refresh avant le body

    Seul probleme , ton soft necessite t il une connection ? Car si l ordi n est pas connecté comment savoir

    Tu peux aussi voir çà au moment de l install

    A toi de juger

    ++

  3. #3
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Je ne veux pas faire une vérification de licences à distance ou autre...
    Je veux juste savoir le nombre de fois où mon application est exécutée sur une machine (toute session confondue).
    + + +

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    bah , même chose avec la base de registre ( root ou local machine ) et peut etre un petit service qui se lance une seule fois lors de la premiere exectuion du soft pour killer auto l enieme instance non autorisée grace à son pid

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello,

    Est-ce qu'un Semaphore peut être partagé entre plusieurs sessions ? Si oui, ça répondrait p'têt à ton problème.
    Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    // Début du programme
    int maxSessions = 10;
    HANDLE sem = CreateSemaphore(NULL, maxSessions, maxSessions, "Global\\CompteurDeLicenses");
     
      switch (WaitForSingleObject(sem , 0L))
        {
        case WAIT_OBJECT_0:     // Pris en compte
          // On peut continuer normalement
          break;
        case WAIT_TIMEOUT:      // On a atteint le max
          CloseHandle(sem);
          throw Exception("Max atteint");
        case WAIT_FAILED:       
          CloseHandle(sem);
          RaiseLastOSError();
          break;
        } // Fin du switch
     
    ....
    // Fin du programme
      ReleaseSemaphore(sem, 1, NULL);
      CloseHandle(sem);

  6. #6
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Je n'ai pas le temps de voir cela tout de suite mais dès que j'ai le temps, je regarde l'un de ses 2 pistes.
    Si d'autres personnes ont des infos sur ce sujet, je suis preneur
    + + +

  7. #7
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Si l'application est installée sur plusieurs machines, au démarrage de l'application tu peux envoyer par socket une information montrant que l'application xyz vient d'être démarrée sur le poste ipxyz à la date et l'heure.

    Sur le serveur, ou un autre pc, tu installes une autre petite application qui permet d'écouter sur le réseau et de récupérer le socket en question. Moyennant une listebox ou un memo, tu met à jour l'affichage.

    C'est le principe de chating.

    Si tu as besoin d'autres info, n'hésites pas
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Points : 523
    Points
    523
    Par défaut
    Bonsoir,

    Je n'ai pas de code a vous donner mais je sais qu'il y a une fonction windows qui permet de récupérer un snapshot des processus en cours.
    Il suffit de compter combien de fois ton application y figure.

    Une petite recherche sur google devrait te donner un code tout fait.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/02/2011, 16h14
  2. Connaitre nombre de genération d'une application
    Par thib42 dans le forum VB.NET
    Réponses: 4
    Dernier message: 02/06/2008, 14h30
  3. Réponses: 5
    Dernier message: 01/03/2006, 11h34
  4. Nombre de lignes pour une application ?
    Par BoeufBrocoli dans le forum Windows
    Réponses: 5
    Dernier message: 21/01/2006, 15h48
  5. Connaitre le nombre d'insertion dans une table
    Par vodevil dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/11/2005, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo