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 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