Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Creation de service windows

13 réponses
Avatar
b_chihab
Salut,

Je voudrais creer un service windows a partir d'un program prg.exe
Je fais : sc create v binpath= "C:\Program Files\prg.exe"
et je recois [SC] CreateService SUCCESS
Or le service ne se lance pas, a la commande (net start v) j'ai The
service is not responding to the control function.
J'ai lu quelque part que pour qu'un exe puisse etre un service, il
faut qu'il ait une "structure de service", quelqu'un sait ce que ca
veut dire?

Merci

10 réponses

1 2
Avatar
Jean-Claude BELLAMY
a écrit dans le message de
news:
Salut,

Je voudrais creer un service windows a partir d'un program prg.exe
Je fais : sc create v binpath= "C:Program Filesprg.exe"
et je recois [SC] CreateService SUCCESS
Or le service ne se lance pas, a la commande (net start v) j'ai The
service is not responding to the control function.
J'ai lu quelque part que pour qu'un exe puisse etre un service, il
faut qu'il ait une "structure de service", quelqu'un sait ce que ca
veut dire?


Des tas de choses !!!!
Un service, ce n'est pas une appli lambda !
Çà se mérite, l'écriture d'un service ! ;-)

Qu'on programme en API WIn32 ou en .Net, on doit passer par un certain
nombre de fonctions ou méthodes !

P.ex. en API Win32, il y a (mon SDK est en anglais) :
ChangeServiceConfig
Changes the configuration parameters of a service.
ChangeServiceConfig2
Changes the optional configuration parameters of a service.
CloseServiceHandle
Closes the specified handle to a service control manager object or a
service object.
ControlService
Sends a control code to a service.
CreateService
Creates a service object and adds it to the specified service control
manager database.
DeleteService
Marks the specified service for deletion from the service control
manager database.
EnumDependentServices
Retrieves the name and status of each service that depends on the
specified service.
EnumServicesStatus
Enumerates services in the specified service control manager database.
EnumServicesStatusEx
Enumerates services in the specified service control manager database
based on the specified information level.
GetServiceDisplayName
Retrieves the display name of the specified service.
GetServiceKeyName
Retrieves the service name of the specified service.
Handler
An application-defined callback function used with the
RegisterServiceCtrlHandler function.
HandlerEx
An application-defined callback function used with the
RegisterServiceCtrlHandlerEx function.
LockServiceDatabase
Requests ownership of the service control manager database lock.
NotifyBootConfigStatus
Reports the boot status to the service control manager.
OpenSCManager
Establishes a connection to the service control manager on the specified
computer and opens the specified service control manager database.
OpenService
Opens an existing service.
QueryServiceConfig
Retrieves the configuration parameters of the specified service.
QueryServiceConfig2
Retrieves the optional configuration parameters of the specified
service.
QueryServiceLockStatus
Retrieves the lock status of the specified service control manager
database.
QueryServiceObjectSecurity
Retrieves a copy of the security descriptor associated with a service
object.
QueryServiceStatus
Retrieves the current status of the specified service.
QueryServiceStatusEx
Retrieves the current status of the specified service based on the
specified information level.
RegisterServiceCtrlHandler
Register a function to handle service control requests for an
application.
RegisterServiceCtrlHandlerEx
Register a function to handle service control requests for an
application.
ServiceMain
An application-defined function that serves as the entry point for a
service.
SetServiceBits
Registers a service type with the service control manager and the Server
service.
SetServiceObjectSecurity
Sets the security descriptor of a service object.
SetServiceStatus
Updates the service control manager's status information for the calling
service.
StartService
Starts a service.
StartServiceCtrlDispatcher
Connects the main thread of a service process to the service control
manager.
UnlockServiceDatabase
Unlocks a service control manager database by releasing the specified
lock.


Eh oui mon p'tit gars !!!


Et en ce qui ceoncerne la programmation en .Net :
Un bon tutoriel sur le sujet :
http://selkis.developpez.com/tutoriels/dotnet/servicewindows/
(service en VB.net)

La classe "Servicebase" :
http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemServiceProcessServiceBaseClassTopic.asp



Néanmoins, on peut, sous certaines conditions (passer par une appli "passe
partout"), lancer presque n'importe quoi comme service.
Je décris cela sur mon site :
http://www.bellamyjc.org/fr/windowsnt.html#serviceNT



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org

Avatar
DK
?????? et ça te mêne à quoi de l'étaler comme ça ta science, une explication
en français pour expliquer ce qu'est un service déjà aurait été plus
profitable à l'ensemble des gens qui lisent les post.On le sait tous que tu
est un informatien hors pair.
"Jean-Claude BELLAMY" a écrit dans le
message de news:
a écrit dans le message de
news:
Salut,

Je voudrais creer un service windows a partir d'un program prg.exe
Je fais : sc create v binpath= "C:Program Filesprg.exe"
et je recois [SC] CreateService SUCCESS
Or le service ne se lance pas, a la commande (net start v) j'ai The
service is not responding to the control function.
J'ai lu quelque part que pour qu'un exe puisse etre un service, il
faut qu'il ait une "structure de service", quelqu'un sait ce que ca
veut dire?


Des tas de choses !!!!
Un service, ce n'est pas une appli lambda !
Çà se mérite, l'écriture d'un service ! ;-)

Qu'on programme en API WIn32 ou en .Net, on doit passer par un certain
nombre de fonctions ou méthodes !

P.ex. en API Win32, il y a (mon SDK est en anglais) :
ChangeServiceConfig
Changes the configuration parameters of a service.
ChangeServiceConfig2
Changes the optional configuration parameters of a service.
CloseServiceHandle
Closes the specified handle to a service control manager object or a
service object.
ControlService
Sends a control code to a service.
CreateService
Creates a service object and adds it to the specified service control
manager database.
DeleteService
Marks the specified service for deletion from the service control
manager database.
EnumDependentServices
Retrieves the name and status of each service that depends on the
specified service.
EnumServicesStatus
Enumerates services in the specified service control manager database.
EnumServicesStatusEx
Enumerates services in the specified service control manager database
based on the specified information level.
GetServiceDisplayName
Retrieves the display name of the specified service.
GetServiceKeyName
Retrieves the service name of the specified service.
Handler
An application-defined callback function used with the
RegisterServiceCtrlHandler function.
HandlerEx
An application-defined callback function used with the
RegisterServiceCtrlHandlerEx function.
LockServiceDatabase
Requests ownership of the service control manager database lock.
NotifyBootConfigStatus
Reports the boot status to the service control manager.
OpenSCManager
Establishes a connection to the service control manager on the
specified computer and opens the specified service control manager
database.
OpenService
Opens an existing service.
QueryServiceConfig
Retrieves the configuration parameters of the specified service.
QueryServiceConfig2
Retrieves the optional configuration parameters of the specified
service.
QueryServiceLockStatus
Retrieves the lock status of the specified service control manager
database.
QueryServiceObjectSecurity
Retrieves a copy of the security descriptor associated with a service
object.
QueryServiceStatus
Retrieves the current status of the specified service.
QueryServiceStatusEx
Retrieves the current status of the specified service based on the
specified information level.
RegisterServiceCtrlHandler
Register a function to handle service control requests for an
application.
RegisterServiceCtrlHandlerEx
Register a function to handle service control requests for an
application.
ServiceMain
An application-defined function that serves as the entry point for a
service.
SetServiceBits
Registers a service type with the service control manager and the
Server service.
SetServiceObjectSecurity
Sets the security descriptor of a service object.
SetServiceStatus
Updates the service control manager's status information for the
calling service.
StartService
Starts a service.
StartServiceCtrlDispatcher
Connects the main thread of a service process to the service control
manager.
UnlockServiceDatabase
Unlocks a service control manager database by releasing the specified
lock.


Eh oui mon p'tit gars !!!


Et en ce qui ceoncerne la programmation en .Net :
Un bon tutoriel sur le sujet :
http://selkis.developpez.com/tutoriels/dotnet/servicewindows/
(service en VB.net)

La classe "Servicebase" :
http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemServiceProcessServiceBaseClassTopic.asp



Néanmoins, on peut, sous certaines conditions (passer par une appli "passe
partout"), lancer presque n'importe quoi comme service.
Je décris cela sur mon site :
http://www.bellamyjc.org/fr/windowsnt.html#serviceNT



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org




Avatar
Tonio - le Yéti
DK nous a écrit pour "sonner " JCB suite à sa réponse :
?????? et ça te mène à quoi de l'étaler comme ça ta science, une
explication en français pour expliquer ce qu'est un service déjà
aurait été plus profitable à l'ensemble des gens qui lisent les
post. On le sait tous que tu est un information hors pair.


Holà, calmes-toi ! Si il y en a un dans la bande qui fait et dit
comme il faut c'est bien lui. Alors, inutile de prendre la mouche.
Tu as des questions chiadées, et on te fait des réponses en
adéquation : de quoi te plains-tu !?

Tonio, imbécile notoire (inutile de me le dire) ;-)

Avatar
Ascadix
?????? et ça te mêne à quoi de l'étaler comme ça ta science, une explication
en français pour expliquer ce qu'est un service déjà aurait été plus
profitable à l'ensemble des gens qui lisent les post.On le sait tous que tu
est un informatien hors pair.


Eh ..

un gros smiley suivit d'un km de copier-coller "capilo-horipilateur"
..j'appelle pas ça étaler ça science, c'est une pointe d'humour
légèrement piquant.

ensuite, une poignée de liens techniques, là tu pourrais éventuellement
parler détaler la science ... sauf que c'est justement une rafale de
réponses à la question posée, ou alors il ne faut pas répondre trop en
détails aux questions posées ?????

Quand à savoir ce qu'est un service ..vu la question posée on est en
droit de supposer que l'auteur voit bien l'intérêt /usage d'un service,
il cherche des infos sur la recette pour créer un tel service, pas sur
son usage.

Faut te décrisper mon gars.

--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.

Avatar
DK
La question n'étais pas de moi mais je traduis mon ressenti avec une telle
réponse de JCB.Si on est ici c'est pour apprendre pas pour subir des
réponses d'informaticiens chevronnés qui se parlent entre eux et ne
comprennent qu'entre eux.C'était la réputation qu'ils avaient il y a déjà 30
ans parce que eux les élus avaient le "SAVOIR" .Voilà ma réponse c'est à
prendre où à laisser mais c'est comme ça, point final.
"Tonio - le Yéti" a écrit dans le message de news:

DK nous a écrit pour "sonner " JCB suite à sa réponse :
?????? et ça te mène à quoi de l'étaler comme ça ta science, une
explication en français pour expliquer ce qu'est un service déjà
aurait été plus profitable à l'ensemble des gens qui lisent les
post. On le sait tous que tu est un information hors pair.


Holà, calmes-toi ! Si il y en a un dans la bande qui fait et dit
comme il faut c'est bien lui. Alors, inutile de prendre la mouche.
Tu as des questions chiadées, et on te fait des réponses en
adéquation : de quoi te plains-tu !?

Tonio, imbécile notoire (inutile de me le dire) ;-)




Avatar
DK
Et qui dit et qui fait comme il faut je n'en doute point il suffit de
consulter son site pour le vérifier, ce que je fais régulièrement, c'est
pour ça que je n'ai pas compris pourquoi il a répondu de cette façon, mais
bon peut etre suis je intervenu avec trop de vehemence , alors mes excuses
au boss.DK
"Ascadix" a écrit dans le message de news:
47ffc325$0$887$
?????? et ça te mêne à quoi de l'étaler comme ça ta science, une
explication en français pour expliquer ce qu'est un service déjà aurait
été plus profitable à l'ensemble des gens qui lisent les post.On le sait
tous que tu est un informatien hors pair.


Eh ..

un gros smiley suivit d'un km de copier-coller "capilo-horipilateur"
..j'appelle pas ça étaler ça science, c'est une pointe d'humour légèrement
piquant.

ensuite, une poignée de liens techniques, là tu pourrais éventuellement
parler détaler la science ... sauf que c'est justement une rafale de
réponses à la question posée, ou alors il ne faut pas répondre trop en
détails aux questions posées ?????

Quand à savoir ce qu'est un service ..vu la question posée on est en droit
de supposer que l'auteur voit bien l'intérêt /usage d'un service, il
cherche des infos sur la recette pour créer un tel service, pas sur son
usage.

Faut te décrisper mon gars.

--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.



Avatar
Alain Naigeon
"DK" a écrit dans le message de news:

La question n'étais pas de moi mais je traduis mon ressenti avec une telle
réponse de JCB.


Bon alors laisse chacun visionner le film à son niveau, prends ce que tu
comprends, et va soigner tes complexes pour le reste.

Si on est ici c'est pour apprendre pas pour subir des
réponses d'informaticiens chevronnés qui se parlent entre eux et ne
comprennent qu'entre eux.C'était la réputation qu'ils avaient il y a déjà
30
ans parce que eux les élus avaient le "SAVOIR" .


Bon ben alors va poser tes questions dans des NGs où personne
ne sait, comme ça tu comprendras 100% des réponses :-o

Voilà ma réponse c'est à
prendre où à laisser mais c'est comme ça, point final.


Eh ben on laisse :-)

PS : bonne chance dans la vie réelle ;-)

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Oberhoffen/Moder, France

Avatar
DK
"Alain Naigeon" a écrit dans le message de news:
47ffce39$0$15334$
"DK" a écrit dans le message de news:

La question n'étais pas de moi mais je traduis mon ressenti avec une
telle
réponse de JCB.


Bon alors laisse chacun visionner le film à son niveau, prends ce que tu
comprends, et va soigner tes complexes pour le reste.


Hors sujet voir phrase suivante

Si on est ici c'est "pour apprendre" pas pour subir des
réponses d'informaticiens chevronnés qui se parlent entre eux et ne
comprennent qu'entre eux.C'était la réputation qu'ils avaient il y a déjà
30
ans parce que eux les élus avaient le "SAVOIR" .


Bon ben alors va poser tes questions dans des NGs où personne
ne sait, comme ça tu comprendras 100% des réponses :-o


Encore hors sujet, ils en savent beaucoup c'est pour cela que je viens sur
ces NG. Il ya une façon de le restituer, nous n'avons pas votre niveau sinon
pourquoi venir poser des questions

Voilà ma réponse c'est à
prendre où à laisser mais c'est comme ça, point final.


Eh ben on laisse :-)


Ben TU laisses, TU ne represente pas tout le monde

PS : bonne chance dans la vie réelle ;-)


Plus réelle, que la tienne, virtuelle(tu as l'air un peu deconnecté de la
base, des gens qui fréquentent ces NG)

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Oberhoffen/Moder, France





Avatar
Azur
"DK" a écrit dans le message de news:

Et qui dit et qui fait comme il faut je n'en doute point il suffit de
consulter son site pour le vérifier, ce que je fais régulièrement, c'est
pour ça que je n'ai pas compris pourquoi il a répondu de cette façon, mais
bon peut etre suis je intervenu avec trop de vehemence , alors mes
excuses
au boss.DK



Le principal, c'est que tu trouves la solution à ton problème.

Est-ce le cas ?



-azur-


ps JCB te répondait certainement sur le ton Lino Ventura dans les "tontons
flingueurs" difficile
à transcrire pour les Newsgroups.

Avatar
henri
DK wrote:
?????? et ça te mêne à quoi de l'étaler comme ça ta science,


Copier la doc, tu appelles ça la science ?! (coutumier du fait en plus)
Sur les forums de prog (C, C+, ASM, etc), il n'arrive pas à la cheville
du quidam moyen.
Au royaume des aveugles, les borgnes sont rois...

1 2