Comment ajouter un service

cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 - 3 janv. 2003 à 17:59
groolot Messages postés 2 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003 - 29 janv. 2003 à 20:27
je cherche a ajouter un de mes programmes en tant que service sous win 2000 pro,
ca m'interesse aussi de savoir pour les autres OS ...

merci d'avance ;)

8 réponses

gblade Messages postés 85 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 19 mai 2003
3 janv. 2003 à 22:29
désolé, c'est pas une réponse mais c'est quoi un "service" ?
0
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
4 janv. 2003 à 00:48
en gros c'est un programme qui se lance avant meme que win soit totalement charger ( pas encore rentrer le login et mot de passe de win )
ca peut etre un serveur ftp par exemple :)
si tu as win nt ( nt4-2000-xp (peut etre ca y est que sous les version pro) ) , va dans le panneau de config puis Outils d'administration , tu auras une icone services :p
0
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
4 janv. 2003 à 01:04
je vien de trouver un exemple en vb :)
demain j'essaie de le faire en asm :p

' Déclaration des fonctions API utilisées
Private Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" ( _
ByVal lpMachineName As String, ByVal lpDatabaseName As String, _
ByVal dwDesiredAccess As Long) As Long
Private Declare Function OpenService Lib "advapi32.dll" Alias "OpenServiceA" ( _
ByVal hSCManager As Long, ByVal lpServiceName As String, _
ByVal dwDesiredAccess As Long) As Long
Private Declare Function QueryServiceStatus Lib "advapi32.dll" (_
ByVal hService As Long, lpServiceStatus As SERVICE_STATUS) As Long
Private Declare Function CloseServiceHandle Lib "advapi32.dll" ( _
ByVal hSCObject As Long) As Long

Private Type SERVICE_STATUS
dwServiceType As Long
dwCurrentState As Long
dwControlsAccepted As Long
dwWin32ExitCode As Long
dwServiceSpecificExitCode As Long
dwCheckPoint As Long
dwWaitHint As Long
End Type

' Déclaration des constantes
Private Const SERVICE_QUERY_STATUS = &H4

Private Const SERVICE_CONTINUE_PENDING = &H5
Private Const SERVICE_PAUSE_PENDING = &H6
Private Const SERVICE_PAUSED = &H7
Private Const SERVICE_RUNNING = &H4
Private Const SERVICE_START_PENDING = &H2
Private Const SERVICE_STOP_PENDING = &H3
Private Const SERVICE_STOPPED = &H1

Private Const SERVICE_ACCEPT_PAUSE_CONTINUE = &H2
Private Const SERVICE_ACCEPT_STOP = &H1

' Pour tester correctement l'exemple, créer un bouton 'cmdTest'
' et une zone de texte 'txtInfo' avec la propriété Multi-line à True.

Private Sub cmdTest_Click()
Dim lgSCM As Long, lgSvc As Long, lgRet As Long
Dim tySvc As SERVICE_STATUS
' Récupère un pointeur vers le contrôleur de service
lgSCM = OpenSCManager(vbNullString, vbNullString, SERVICE_QUERY_STATUS)
If (lgSCM <> 0) Then
' Ouvre le service "mysql" (à remplacer par un autre service
' pour tester l'exemple si mysql n'est pas installé sur votre machine)
lgSvc = OpenService(lgSCM, "mysql", SERVICE_QUERY_STATUS)
If (lgSvc <> 0) Then
' Lit l'état courant du service
lgRet = QueryServiceStatus(lgSvc, tySvc)
' Affiche l'état
Select Case tySvc.dwCurrentState
Case SERVICE_CONTINUE_PENDING
txtInfo.Text = "Reprise du service"
Case SERVICE_PAUSE_PENDING
txtInfo.Text = "Mise en pause"
Case SERVICE_PAUSED
txtInfo.Text = "En pause"
Case SERVICE_RUNNING
txtInfo.Text = "En fonctionnement"
Case SERVICE_START_PENDING
txtInfo.Text = "En cours de démarrage"
Case SERVICE_STOP_PENDING
txtInfo.Text = "En cours d'arrêt"
Case SERVICE_STOPPED
txtInfo.Text = "Arrêté"
End Select
' Affiche les actions acceptées
If (tySvc.dwControlsAccepted Or SERVICE_ACCEPT_PAUSE_CONTINUE) = _
tySvc.dwControlsAccepted Then
txtInfo.Text = txtInfo.Text & vbCrLf & _
"Le service peut être mis en pause"
End If
If (tySvc.dwControlsAccepted Or SERVICE_ACCEPT_STOP) = _
tySvc.dwControlsAccepted Then
txtInfo.Text = txtInfo.Text & vbCrLf & _
"Le service peut être arrêté"
End If
' Libère le service
lgRet = CloseServiceHandle(lgSvc)
Else
txtInfo.Text = "Pb sur OpenService!"
End If
' Libère le contrôleur de service
lgRet = CloseServiceHandle(lgSCM)
Else
txtInfo.Text = "Pb sur OpenSCManager!"
End If
End Sub
0
hitchhikr Messages postés 36 Date d'inscription dimanche 8 décembre 2002 Statut Membre Dernière intervention 8 avril 2005
5 janv. 2003 à 13:15
Je viens de poster une source en asm concernant ce problème.

h.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
5 janv. 2003 à 14:04
merci , tu fais du beau travail ses derniers jours , chapeau !!
0
groolot Messages postés 2 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003
28 janv. 2003 à 21:36
allez voir à cette adresse c'est bien expliqué et ca marche

(désolé c'est pas de la prog par contre!)

.: groolot :.
0
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
29 janv. 2003 à 08:30
petit oubli ;)
quelle adresse ? :p
0
groolot Messages postés 2 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003
29 janv. 2003 à 20:27
Désolé, j'ai la tête en l'air des fois ...;)

http://sebastien.portebois.free.fr/lingo/smus/installation/installSmusAsNTService_uk.htm

.: groolot :.
0
Rejoignez-nous