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 Forms Discussion :

Service windows en VB.NET


Sujet :

Windows Forms

  1. #1
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut Service windows en VB.NET
    Bonjour

    Je cherche quelques exemples de codes VB.NET sur les services windows
    Je dois faire un petit projet ( service) qui tournerais une requete sur une DB SQL et qui retournerait un resultat dans une msgbox toute les heures ou demi heure (reglable ), en fonctione du résultat (nombre d'articles restant dans le stock), de façon a ce que les utilisateur ne doivent pas allez chaque fois dans le logiciel de gestion pour effectuer une lecture manuelle.
    Si quelqu'un a chtite idée, bout de code, exemple, se sera le bien venu

    Merchi

    J'ai essayé ceci, mais sa ne fonctionne pas
    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
    Public Class Service1
          Protected Overrides Sub OnStart(ByVal args() As String)
                With Timer1
                      .Enabled = True
                      .Start()
                End With
          End Sub
     
          Protected Overrides Sub OnStop()
                Timer1.Enabled = False
          End Sub
     
          Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
     
                Try
                      Shell("wordpad.exe")
                Catch
                      MsgBox("va pas")
                End Try
          End Sub
    End Class
    La Connaissance est comme la joie elle s'accroît en la partageant!

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un service est quelque chose de non graphique, pas lié à une session de windows

    étant donné qu'il est possible d'ouvrir plusieurs sessions sur un windows, voir meme plusieurs en meme temps sur les versions server le service ne peut pas deviner ou afficher le msgbox ou tout autre fenetre

    donc ce qu'il te faut n'est pas un service, mais un exe qui se lance au demarrage de la session, ou dans le pire des cas, un service qui s'occupe des données et un exe qui se lance au démarage de la session qui dialogue avec l'exe service


    il y a aussi une bidouille pour ceux qui ne veulent pas suivre les recommandations, cocher "autoriser l'interraction avec le bureau" sur le service
    mais là ca peut devenir aléatoire comme fonctionnement, dans certains cas, le service n'est pas lié au bon bureau ou à aucun et ca affiche rien quand meme
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut
    J'ai un peux changé le code comme ceci

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Public Class Service1
          Protected Overrides Sub OnStart(ByVal args() As String)
     
                If Not JEvents.SourceExists("ServiceMemoire") Then
                      'on le Cree
                      JEvents.CreateEventSource("ServiceMemoire", "JrnlMemoire")
                End If
                'et on lui indique la source de la création
                JEvents.Source = "ServiceMemoire"
     
     
               With Timer1
                      .Enabled = True
                      .Start()
                      .Interval = 10000  ' 10 sec
                End With
                JEvents.WriteEntry("démarrage du service")
     
          End Sub
     
          Protected Overrides Sub OnStop()
     
                JEvents.WriteEntry("Arrêt du service")
                Timer1.Enabled = False
     
          End Sub
     
          Private Sub DemarreLeProgramme()
     
                JEvents.WriteEntry("le programme est démarré")
     
          End Sub
     
          Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
     
                Try
                      JEvents.WriteEntry("Je démarre le programme")
                      DemarreLeProgramme()
                Catch
                      JEvents.WriteEntry("La sa ne va pas")
                End Try
     
                     End Sub
    End Class
    J'ai l'impression que le service ne tourne pas Hors il est bien 'Démarré' dans la liste des services, mais aucune ligne ne s'inscrit
    La Connaissance est comme la joie elle s'accroît en la partageant!

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    un service est quelque chose de non graphique, pas lié à une session de windows

    étant donné qu'il est possible d'ouvrir plusieurs sessions sur un windows, voir meme plusieurs en meme temps sur les versions server le service ne peut pas deviner ou afficher le msgbox ou tout autre fenetre

    donc ce qu'il te faut n'est pas un service, mais un exe qui se lance au demarrage de la session, ou dans le pire des cas, un service qui s'occupe des données et un exe qui se lance au démarage de la session qui dialogue avec l'exe service
    +1.

    Cherches une autre solution... Quoi que dans le même genre, tu pourrais faire ton service, mais au lieu de faire un MsgBox, utiliser le "NET SEND "... Mais cela va grandement agacer les utilisateurs... (Pour info', le NET SEND est un message de type "MsgBox" mais que tu envois par le réseau, sous entendu que le service "Affichages des messages" soit démarré sur le client)


    Je ne sais pas ce dont tu disposes en ressources logicielles pour cela, mais une petite page aspx avec un composant ajax (pour le refresh auto) pourrait être plus judicieux. Enfin... il existe des tas de méthodes pour faire ce que tu veux faire.

    Citation Envoyé par sperot51 Voir le message
    il y a aussi une bidouille pour ceux qui ne veulent pas suivre les recommandations, cocher "autoriser l'interraction avec le bureau" sur le service
    mais là ca peut devenir aléatoire comme fonctionnement, dans certains cas, le service n'est pas lié au bon bureau ou à aucun et ca affiche rien quand meme
    Cette "bidouille" comme tu dis, peut être en fait très utile, notamment pour le debug de ton service ! Cela évite de passer par des "logs" !

  5. #5
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut
    Ok,
    Merci

    Je vais exploiter ta solution -> page ASPX Java
    J'ai utiliser la bidouille pour en effet avoir le résultat , qui fonctionne
    Seul chose en core bloquante c'est le timer qui ne fonctionne pas, pourtant j'ai bien veillé a ne pas prendre le timer forms, car jai vu qu'il ne fonctionne pas. mais j'ai quand même le problème aved celui ci
    La Connaissance est comme la joie elle s'accroît en la partageant!

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    il y a un autre moyen de faire un timer, c'est un thread avec une boucle while true et thread.sleep(millisecondes) après le traitement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut
    je vais peut être coté du thread
    La Connaissance est comme la joie elle s'accroît en la partageant!

  8. #8
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par thierry007 Voir le message
    Bonjour

    Je cherche quelques exemples de codes VB.NET sur les services windows
    Je dois faire un petit projet ( service) qui tournerais une requete sur une DB SQL et qui retournerait un resultat dans une msgbox toute les heures ou demi heure (reglable ), en fonctione du résultat (nombre d'articles restant dans le stock), de façon a ce que les utilisateur ne doivent pas allez chaque fois dans le logiciel de gestion pour effectuer une lecture manuelle.
    Si quelqu'un a chtite idée, bout de code, exemple, se sera le bien venu
    Pourquoi ne pas développer une application Winform classique (.exe) et ensuite utiliser le planificateur de tâches Windows pour démarrer cette tâche toutes les heures ?

    Ca serait quand même beaucoup plus simple.
    Il y a toujours au moins deux solutions à un problème.

    http://software-design-development.blogspot.com/

  9. #9
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut
    Disons que le planificateur de taches n'inspire pas une confiance totale
    Vu par expérience -> n'importe qui fait n'importe quoi
    Un service est déjà beaucoup plus difficile a modifier pour les neofites
    La solution du planificateur avait déjà été pensée, mais écartée.
    De ce micro projet va dépendre la livraison d'in opérateur de téléphone mobile
    La Connaissance est comme la joie elle s'accroît en la partageant!

Discussions similaires

  1. [services windows et dot net]service account sous windows 7
    Par Fenn_ dans le forum Framework .NET
    Réponses: 4
    Dernier message: 17/05/2010, 14h27
  2. comment créer un service windows sans prérequi .NET framework ?
    Par masterx_goldman dans le forum Framework .NET
    Réponses: 7
    Dernier message: 14/04/2009, 16h40
  3. Service Windows avec Delphi.net
    Par Alibaba126 dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 04/09/2006, 11h42
  4. [VB.NET] InputBox et service windows
    Par joefou dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/11/2005, 14h06
  5. gestion des Services Windows sans .NET
    Par zedoo dans le forum MFC
    Réponses: 1
    Dernier message: 16/05/2005, 23h52

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