Création d'un Service Windows - C - Programmation
Marsh Posté le 28-06-2005 à 11:08:26
MAX_PATH c'est la valeur max d'un path. Tu peux mettre MAX_PATH+3, la longueur max ça reste MAX_PATH. 
Inspire toi plutot du code de la MSDN, basé sur GetModuleFileName: 
http://msdn.microsoft.com/library/ [...] ervice.asp 
Pour ton problème, le problème est ailleurs. Le code que tu donnes installe le service situé à l'emplacement donné par buffer, soit toi même. Sauf que là il manque tout le code nécessaire pour faire un service. Tu as juste écris le code nécessaire à installer un service. 
Voir ServiceMain, StartServiceCtrlDispatcher, ... 
http://msdn.microsoft.com/library/ [...] _tasks.asp 
http://www.codeproject.com/system/ [...] ervice.asp 
Tu devrais peut être jeter un oeil à srvany aussi.
Marsh Posté le 28-06-2005 à 12:31:41
un exe "classique" ne peut pas etre service ? 
 
 
et j'ai mais MAX_PATH+3 pour ajouter les " autour du path 
Marsh Posté le 28-06-2005 à 12:32:35
Si, encore faut-il qu'il soit codé pour ça. Relis mon post, et le lien sur codeproject... 
Et avec MAX_PATH+3, tu génères un noms > MAX_PATH, donc un chemin invalide (c'est un détail, l'erreur n'est pas là). MAX = valeur max, à ne pas dépasser. MAX+3 = 3 de plus que les MAX.
Marsh Posté le 28-06-2005 à 15:37:10
Je te remercie HelloWorld, effectivement, je ne savais pas qu'il fallait faire autant de truc pour un service  mais bon, là ça fonctionne
 mais bon, là ça fonctionne  merci beaucoup
 merci beaucoup 
Marsh Posté le 27-06-2005 à 20:31:54
Alors voila quelques heures que je me bat avec CreateService().
J'ai un programme qui doit s'installer en tant que Service Windows. J'ai mis ce code là :
pour information, buffer c'est un char [MAX_PATH+3] qui contient l'argument 0 de main() entouré de " (pour proteger les espaces).
Le service est bien créé, mais impossible de le lancer, j'obtient l'erreur ci dessous par exemple : [img]www.rclsilver.net/~thomas/ss_srv.jpg[/img]
Je voudrais savoir ou serait mon probleme.
PS: C'est une application console pour le moment, mais ça va etre une Win 32 par la suite..
Merci d'avance