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

Windows Discussion :

Question sur les services windows


Sujet :

Windows

  1. #1
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut Question sur les services windows
    Bonjour, je ne savais pas trop ou mettre ce poste. N'hésitez pas à le déplacer...

    J'ai un service windows (.NET, masi je pense pas que c'est important)

    Quand le service démarer, je lance un timer qui fait une exécution toute les heures. Qua va-t-il se passer si j'éteind et que je rallume la machine ?

    Pour schématiser:
    0h00 début du service
    1h00 Exécution service
    2h00 Exécution service
    2h35 Extinction machine
    2h37 Réallumage machine
    3h00 Exécution service ?????
    Sinon, comment faire pour que ça marche ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    En l'occurence, je pense que la prochaine exécution sera à 3h37...

    Une chose que tu peux peut-être faire pour forcer une exécution à chaque "heure pile", c'est au lancement, calculer le temps qui te sépare de la prochaine "heure pile" pour ton timer, puis changer sa durée après la première exécution...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Ou utiliser un timer ayant une résolution d'une minute qui déclenche l'exécution si le nombre de minutes actuel est égal à 00...

  4. #4
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Merci, mais je ne veux pas spécialement une exécution à chaque heure. Ce que je veux c'est avoir un évènement qui se déclenche à interval fixe. Un peu comme le truc d'évènement planifié de windows.

    Peut-être qu'il ne faut pas utiliser un timer...

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu peux aussi enregistrer la date de dernière exécution dans le registre ou un fichier...
    (plutôt dans un fichier je pense, car le registre n'est pas toujours sauvagardé quand ça plante...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Ben faut pas éteindre le PC alors, ou bien comme dit Médinoc mémoriser l'heure de dernière exécution. Ou alors planifier à des heures fixes. Le planificateur de tâche devrait suffire pour ça.

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par bilb0t
    Un peu comme le truc d'évènement planifié de windows.
    Pourquoi "un peu" ? Pourquoi pas "exactement" ? Vois http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/TaskSchd/taskschd/task_scheduler_reference.asp

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Par défaut
    Citation Envoyé par bilb0t
    Peut-être qu'il ne faut pas utiliser un timer...
    Ce que je fais c'est l'utilisation d'un timer avec un controle d'heure :

    Dans ton code timer() tu met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    si minutes(now())=0 alors
             'traitement
    Fin si
    Avec un timer toutes les 60 secondes tu est tranquille

  9. #9
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Heu...

    Finalement, j'ai fait un test avec un "service windows automatique" (celui qui est pas manuel...), et ça fait exactement ce que je veux...
    0 débu service
    10 Exec service
    20 exec service
    22 extinction ordi
    24 réallumage ordi
    30 exec service
    32 extinction ordi
    42 réallumage ordi
    50 exec service
    merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question sur les services
    Par digofwall dans le forum C#
    Réponses: 7
    Dernier message: 05/11/2010, 02h31
  2. Recherche de tutoriaux sur les services Windows
    Par talrashha dans le forum Services Windows
    Réponses: 2
    Dernier message: 04/10/2010, 11h04
  3. Réponses: 5
    Dernier message: 22/08/2008, 10h59
  4. Question sur les sockets [WINDOWS]
    Par lektrosonic dans le forum Réseau
    Réponses: 5
    Dernier message: 26/11/2007, 20h13
  5. Réponses: 15
    Dernier message: 18/01/2005, 23h18

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