Création d'un service windows à partir d'un exécutable

Le but est de créer un service windows à partir d’un programme exécutable.

instsrv.exe et srvany.exe

Pour réaliser l’opération il va nous falloir deux exécutables :

Copiez ces deux exécutables dans un des répertoires du « path » de windows, par exemple C:\windows\system32

Création du service

On commence par créer le service dans la base de registre windows :
Pour cela on ouvre une fenêtre MS-DOS (démarrer -> exécuter : cmd). On tape la commande suivante :

C:\> instsrv “Mon service” srvany.exe

Remplacez Mon service par ce que vous voulez mais l’idéal est que cela soit assez explicite.

Pour supprimer un service :

C:\> instsrv “Mon service” REMOVE

Configuration de la base de registre

Ouvrez la base de registre (démarrer -> exécuter : regedit)
Allez dans :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mon service

Cliquez sur Edition -> Nouveau -> Clé, et appelez la nouvelle clef Parameters.

Cliquez ensuite sur Parameters.
Cliquez sur Edition -> Nouveau -> Valeur chaîne, et appelez la nouvelle valeur Application.

Cliquez ensuite sur Application.
Cliquez sur « Edition -> Modifier »
Dans « Données de la valeur » tapez le chemin (complet : lettre du lecteur et extension .exe du programme) vers le programme qui va être converti en service windows, par exemple :

"C:\Program Files\Mon Programme\hello.exe" "mes paramètres"


Fermez la base de registre.
C’est terminé :)

Problèmes et solutions