Création d'un service avec Visual Basic 2005 Express

Le
Ggr
Bonjour,
Je veux créer una application Windows (avec un Form) qui doit tourner en
mode service système et Systray.
Le modele n'existe pas dans Visual Basic 2005 Express.
Dois je déja créer un projet avec "Application windows" ou "Application
console" ?
Avez vous un exemple de code?

Merci de vos réponses

Jean-Luc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #19335441
Bonjour Jean-Luc,

Je ne peux pas t'aider en ce qui concerne le mode Service.
(à part de mettre le Form en .Visible = False et .ShowInTaskbar = False)

Par contre, pour mettre une application dans Systray, je fais ainsi.

En espérant que cela puisse te servir,
Stéphane.

PS :

Côté concepteur :

- ajout d'un contrôle ContextMenuStrip dans mon Form
Name : ContextMenuStrip_NotifyIcon
Items :
1 ToolStripMenuItem Restaurer (Name : RestaurerToolStripMenuItem)
1 ToolStripSeparator
1 ToolStripMenuItem Quitter (Name : QuitterToolStripMenuItem)

RestaurerToolStripMenuItem.Fonts.Bold : True

- ajout d'un contrôle NotifyIcon dans mon Form
Name : NotifyIcon
Visible : False
Icon : Choisir son icône
Text : Texte à afficher dans le systray si besoin
ContextMenuStrip : ContextMenuStrip_NotifyIcon

Côté code :
Private Sub Form_Main_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize

If Me.WindowState = FormWindowState.Minimized Then

Me.NotifyIcon.Visible = True

Me.NotifyIcon.Text = Me.Text 'si besoin

Me.ShowInTaskbar = False

End If

End Sub

Private Sub Form_Main_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Me.NotifyIcon.Visible = False

'LibSre la m,moire avant de quitter

Me.Dispose(True)

End

End Sub

Private Sub NotifyIcon_MouseDoubleClick(ByVal sender As System.Object, ByVal
e As System.Windows.Forms.MouseEventArgs) Handles
NotifyIcon.MouseDoubleClick

RestoreWindow()

End Sub

Private Sub RestoreWindow()

Me.NotifyIcon.Visible = False

Me.WindowState = FormWindowState.Normal

Me.ShowInTaskbar = True

Me.Activate()

End Sub

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click

Me.NotifyIcon.Visible = False

Me.Close()

End Sub

Private Sub RestaurerToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RestaurerToolStripMenuItem.Click

RestoreWindow()

End Sub



"Ggr" uBv%
Bonjour,
Je veux créer una application Windows (avec un Form) qui doit tourner en
mode service système et Systray.
Le modele n'existe pas dans Visual Basic 2005 Express.
Dois je déja créer un projet avec "Application windows" ou "Application
console" ?
Avez vous un exemple de code?

Merci de vos réponses

Jean-Luc



jchtible
Le #19433011
Je te conseille de regarder de ce coté ci:

http://www.dotnet-tech.com/tutoriels/service-windows/
http://msdn.microsoft.com/fr-fr/library/system.serviceprocess.servicebase.aspx

Le principe du service est de créer une classe héritant de
System.ServiceProcess.ServiceBase.

Cette classe doit surcharger les méthodes OnStart et OnStop

Voici un petit exemple d'utilisation:

Public Class MainService

Protected Overrides Sub OnStart(ByVal args() As String)
' Ajoutez ici le code pour démarrer votre service. Cette méthode doit
' démarrer votre service.
EventLog.WriteEntry("MonServicePerso", "Le service perso a
démarré.", EventLogEntryType.Information, 15)
End Sub

Protected Overrides Sub OnStop()
' Ajoutez ici le code pour effectuer les destructions nécessaires à
l'arrêt de votre service.
EventLog.WriteEntry("MonServicePerso", "Le service perso a été
arrêté.", EventLogEntryType.Information, 15)
End Sub
End Class

Ensuite le tout est de l'installer au niveau système ... N'hésite pas à
revenir pour plus de détails.



"Stéphane" wrote:

Bonjour Jean-Luc,

Je ne peux pas t'aider en ce qui concerne le mode Service.
(à part de mettre le Form en .Visible = False et .ShowInTaskbar = False)

Par contre, pour mettre une application dans Systray, je fais ainsi.

En espérant que cela puisse te servir,
Stéphane.

PS :

Côté concepteur :

- ajout d'un contrôle ContextMenuStrip dans mon Form
Name : ContextMenuStrip_NotifyIcon
Items :
1 ToolStripMenuItem Restaurer (Name : RestaurerToolStripMenuItem)
1 ToolStripSeparator
1 ToolStripMenuItem Quitter (Name : QuitterToolStripMenuItem)

RestaurerToolStripMenuItem.Fonts.Bold : True

- ajout d'un contrôle NotifyIcon dans mon Form
Name : NotifyIcon
Visible : False
Icon : Choisir son icône
Text : Texte à afficher dans le systray si besoin
ContextMenuStrip : ContextMenuStrip_NotifyIcon

Côté code :
Private Sub Form_Main_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize

If Me.WindowState = FormWindowState.Minimized Then

Me.NotifyIcon.Visible = True

Me.NotifyIcon.Text = Me.Text 'si besoin

Me.ShowInTaskbar = False

End If

End Sub

Private Sub Form_Main_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Me.NotifyIcon.Visible = False

'LibSre la m,moire avant de quitter

Me.Dispose(True)

End

End Sub

Private Sub NotifyIcon_MouseDoubleClick(ByVal sender As System.Object, ByVal
e As System.Windows.Forms.MouseEventArgs) Handles
NotifyIcon.MouseDoubleClick

RestoreWindow()

End Sub

Private Sub RestoreWindow()

Me.NotifyIcon.Visible = False

Me.WindowState = FormWindowState.Normal

Me.ShowInTaskbar = True

Me.Activate()

End Sub

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click

Me.NotifyIcon.Visible = False

Me.Close()

End Sub

Private Sub RestaurerToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RestaurerToolStripMenuItem.Click

RestoreWindow()

End Sub



"Ggr" uBv%
> Bonjour,
> Je veux créer una application Windows (avec un Form) qui doit tourner en
> mode service système et Systray.
> Le modele n'existe pas dans Visual Basic 2005 Express.
> Dois je déja créer un projet avec "Application windows" ou "Application
> console" ?
> Avez vous un exemple de code?
>
> Merci de vos réponses
>
> Jean-Luc
>





Ggr
Le #19458901
Je vous remercie de vos réponses que je vais essayer de mettre en place.

Jean-Luc


"jchtible" news:
Je te conseille de regarder de ce coté ci:

http://www.dotnet-tech.com/tutoriels/service-windows/
http://msdn.microsoft.com/fr-fr/library/system.serviceprocess.servicebase.aspx

Le principe du service est de créer une classe héritant de
System.ServiceProcess.ServiceBase.

Cette classe doit surcharger les méthodes OnStart et OnStop

Voici un petit exemple d'utilisation:

Public Class MainService

Protected Overrides Sub OnStart(ByVal args() As String)
' Ajoutez ici le code pour démarrer votre service. Cette méthode
doit
' démarrer votre service.
EventLog.WriteEntry("MonServicePerso", "Le service perso a
démarré.", EventLogEntryType.Information, 15)
End Sub

Protected Overrides Sub OnStop()
' Ajoutez ici le code pour effectuer les destructions nécessaires à
l'arrêt de votre service.
EventLog.WriteEntry("MonServicePerso", "Le service perso a été
arrêté.", EventLogEntryType.Information, 15)
End Sub
End Class

Ensuite le tout est de l'installer au niveau système ... N'hésite pas à
revenir pour plus de détails.



"Stéphane" wrote:

Bonjour Jean-Luc,

Je ne peux pas t'aider en ce qui concerne le mode Service.
(à part de mettre le Form en .Visible = False et .ShowInTaskbar = False)

Par contre, pour mettre une application dans Systray, je fais ainsi.

En espérant que cela puisse te servir,
Stéphane.

PS :

Côté concepteur :

- ajout d'un contrôle ContextMenuStrip dans mon Form
Name : ContextMenuStrip_NotifyIcon
Items :
1 ToolStripMenuItem Restaurer (Name : RestaurerToolStripMenuItem)
1 ToolStripSeparator
1 ToolStripMenuItem Quitter (Name : QuitterToolStripMenuItem)

RestaurerToolStripMenuItem.Fonts.Bold : True

- ajout d'un contrôle NotifyIcon dans mon Form
Name : NotifyIcon
Visible : False
Icon : Choisir son icône
Text : Texte à afficher dans le systray si besoin
ContextMenuStrip : ContextMenuStrip_NotifyIcon

Côté code :
Private Sub Form_Main_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize

If Me.WindowState = FormWindowState.Minimized Then

Me.NotifyIcon.Visible = True

Me.NotifyIcon.Text = Me.Text 'si besoin

Me.ShowInTaskbar = False

End If

End Sub

Private Sub Form_Main_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Me.NotifyIcon.Visible = False

'LibSre la m,moire avant de quitter

Me.Dispose(True)

End

End Sub

Private Sub NotifyIcon_MouseDoubleClick(ByVal sender As System.Object,
ByVal
e As System.Windows.Forms.MouseEventArgs) Handles
NotifyIcon.MouseDoubleClick

RestoreWindow()

End Sub

Private Sub RestoreWindow()

Me.NotifyIcon.Visible = False

Me.WindowState = FormWindowState.Normal

Me.ShowInTaskbar = True

Me.Activate()

End Sub

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click

Me.NotifyIcon.Visible = False

Me.Close()

End Sub

Private Sub RestaurerToolStripMenuItem_Click(ByVal sender As
System.Object,
ByVal e As System.EventArgs) Handles RestaurerToolStripMenuItem.Click

RestoreWindow()

End Sub



"Ggr" uBv%
> Bonjour,
> Je veux créer una application Windows (avec un Form) qui doit tourner
> en
> mode service système et Systray.
> Le modele n'existe pas dans Visual Basic 2005 Express.
> Dois je déja créer un projet avec "Application windows" ou "Application
> console" ?
> Avez vous un exemple de code?
>
> Merci de vos réponses
>
> Jean-Luc
>







Publicité
Poster une réponse
Anonyme