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

VBScript Discussion :

Mettre en attente l'exécution d'un programme


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut Mettre en attente l'exécution d'un programme
    Bonjour,

    A nouveau je demande votre aide. Non pas pour avoir un script tout fait, mais une réponse et une direction.

    Voila, ce que j'aimerai faire:

    Avant d'exécuter un .exe, le script vérifie qu'il n'est pas déjà en cours d'exécution.

    1:Si il n'est pas en cours d'exécution, il se lance.

    2:Si il est en cours d'exécution, il se met en attente et se lance plus tard, après avoir reverifié qu'il n'est pas déjà executé.

    Le point 1 est faisable, je le sais. Je pense m'en sortir facilement avec tous les tutos/forums de ce site.

    Ce qui m'intrigue c'est le point 2. Est ce possible? Si oui, pourriez vous me donner une direction?


    J'espère avoir été assez clair.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Si le premier lancement du logiciel est fait par le script, alors en utilisant les objets WMI (Process) tu peux connaitre le PID du soft que tu as lancé.
    Ensuite il te suffit de vérifier tous les x secondes/minutes si le PID en question est attribué à un des process de la liste des processus.

    Si tu le lances pas en premier, tu peux toujours tenter la même chose mais cette fois ci avec le nom de process du soft à relancer.

    Le mieux est de faire un service windows pour ce genre de chose. Je te conseillerais alors C#.net pour faire le service. C'est que visual est capable de générer automatiquement le squellette d'un service windows.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Bonjour et merci pour la réponse.

    Je pense rester en VBS, c'est déjà assez compliqué comme ca pour moi.

    Il s'agit en fait d'une connexion modem initialisé par un exe, je vais donc faire une recherche sur l'exe dans les process pour la première partie.

    Est il donc possible de lancer par exemple un script 20 fois de suite, et que chaque session attende tranquillement la fin de celui qui le précède? (L'exécution d'un script complet prend 3 minutes.)

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    de lancer par exemple un script 20 fois de suite
    Tu peux faire un script qui lance un autre script 20 fois de suite et qui attend la fin des scripts lancé avant dans lancer d'autre.

    Tu peux aussi utilisés les taches planifiés de windows pour dire au PC de lancer le script à telle ou telle heure.

    Tu peux aussi associé un script à l'ouverture ou la fermeture de session windows. Il s'exécutera lors de l'un de ces événements.

    Tu peux utilisés les Timers dans ton script et lancés une ligne de comamnde, un script, faire une action tout les x secondes/minutes/heures.

    Tu peux utiliser Sleep pour mettre en pause plusieurs seconde un script (il est peu précis, moins que les timers en tout cas.)

    Et au final tu peux combinés tout cela ensemble.

    Ha oui je crois aussi qu'il est possible de créer un service Windows en VBS, mais je ne sais pas comment.

    Mais avant de faire tout cela, il faut détaillé et définir exactement ce que tu veux faire. Et si en plsu tu fais cela en réponse à ce message, quand j'y jetterais un coup d'oeil, je pourrais te donner des réponses plus précises, et te dire ce que moi je ferais, sachant que ce que je te dirais n'est qu'une vérité parmis tant d'autre.

    Mais la vérité d'un dieu ...
    Je blague bien sur

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Merci pour ta réponse.

    Bon franchement, j'ai du mettre de coté ce script, je vais m'y replonger milieu de semaine.

    Le but: un outils de surveillance détecte une anomalie (Ex une station qui ne ping plus) -> exécute un script qui ouvre une connexion Modem et envoie un SMS

    Le pb actuellement, c'est que si une liaison réseau tombe, plusieurs machines sont en problème, et du coup, le script s'exécute plusieurs fois dans les 15 secondes. Mais la connexion modem du premier dure bien 1 minute, du coup les autres n'envoie pas de SMS car modem occupé.

    Je reviens Fin de semaine pour vous dire ou j'en suis.

    Merci encore.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/05/2008, 17h08
  2. Réponses: 7
    Dernier message: 24/10/2005, 23h10
  3. Problème lors de l'exécution de mes programmes
    Par darkmalak01 dans le forum Langage
    Réponses: 7
    Dernier message: 27/09/2005, 18h35
  4. Réponses: 1
    Dernier message: 05/09/2005, 11h37
  5. Exécution d'un programme hors session
    Par skywaukers dans le forum Langage
    Réponses: 3
    Dernier message: 07/07/2005, 10h31

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