Bonjour,

Je cherche à pouvoir modifier le mode de démarrage d'un service, mais, la fonction "ChangeServiceConfig" ne veut pas faire la modif souhaitée.... :-(

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
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const SERVICE_QUERY_CONFIG = &H1
Private Const SERVICE_CHANGE_CONFIG = &H2
Private Const SERVICE_QUERY_STATUS = &H4
Private Const SERVICE_ENUMERATE_DEPENDENTS = &H8
Private Const SERVICE_START = &H10
Private Const SERVICE_STOP = &H20
Private Const SERVICE_PAUSE_CONTINUE = &H40
Private Const SERVICE_INTERROGATE = &H80
Private Const SERVICE_USER_DEFINED_CONTROL = &H100
Private Const SERVICE_BOOT_START = &H0
Private Const SERVICE_SYSTEM_START = &H1
Private Const SERVICE_AUTO_START = &H2
Private Const SERVICE_DEMAND_START = &H3
Private Const SERVICE_DISABLED = &H4
Private Const SERVICE_NO_CHANGE = &HFFFFFFFF
 
Private Const SERVICE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SERVICE_QUERY_CONFIG Or SERVICE_CHANGE_CONFIG Or SERVICE_QUERY_STATUS Or SERVICE_ENUMERATE_DEPENDENTS Or SERVICE_START Or SERVICE_STOP Or SERVICE_INTERROGATE Or SERVICE_USER_DEFINED_CONTROL)
 
 
'ouverture de la console des services
Public Declare Function OpenSCManager Lib "ADVAPI32.DLL" Alias "OpenSCManagerA" (ByVal lpMachineName As String, ByVal lpDatabaseName As String, ByVal dwDesiredAccess As Long) As Long
'ouverture d'un service
Public Declare Function OpenService Lib "ADVAPI32.DLL" Alias "OpenServiceA" (ByVal hSCManager As Long, ByVal lpServiceName As String, ByVal dwDesiredAccess As Long) As Long
'modification des paramètres d'un service
Public Declare Function ChangeServiceConfig Lib "ADVAPI32.DLL" Alias "ChangeServiceConfigA" (ByVal hService As Long, ByVal dwServiceType As Long, ByVal dwStartType As Long, ByVal dwErrorControl As Long, ByVal lpBinaryPathName As String, ByVal lpLoadOrderGroup As String, lpdwTagId As Long, ByVal lpDependencies As String, ByVal lpServiceStartName As String, ByVal lpPassword As String, ByVal lpDisplayName As String) As Long
'fermeture d'un handle
Declare Function CloseServiceHandle Lib "ADVAPI32.DLL" (ByVal hSCObject As Long) As Long
 
Public Function modifService()
Dim scManager As Long
Dim service As Long
Dim ret As Variant
 
    scManager = OpenSCManager(vbNullString, vbNullString, SC_MANAGER_ALL_ACCESS)
    service = OpenService(scManager, "Aconvert", SERVICE_CHANGE_CONFIG)
 
    MsgBox ChangeServiceConfig(service, SERVICE_NO_CHANGE, SERVICE_AUTO_START, SERVICE_NO_CHANGE, vbNull, vbNull, vbNull, vbNull, vbNull, vbNull, vbNull)
 
    CloseServiceHandle service
    CloseServiceHandle scManager
End Function
Si quelqu'un peut me donner un p'tit coup de main........
Merci d'avance :-)