Quelle est la différence entre un service Windows et un exe standard?
Un service Windows fonctionne toujours une fois que l'ordinateur démarre (aussi longtemps qu'il est configuré). Un EXE standard ne fonctionne que lorsqu'un utilisateur est connecté et s'arrêtera si l'utilisateur se déconnecte.
Vous utiliseriez un service Windows pour des choses qui doivent toujours être exécutées même si personne n'est connecté.
Vous utiliseriez une EXE standard pour les programmes qu'un utilisateur fonctionnera lors de l'inscription.
Un service Windows a une fonction spéciale ServiceMain
et doit répondre correctement aux commandes de Service Control Manager (SCM) afin d'être fonctionnel en tant que service. D'autre part, un exécutable régulier a une fonction main
ou WinMain
fonction et n'a pas besoin de répondre à des commandes de contrôle particulières.
Si vous parlez de la mise en œuvre d'une opération de base, voici les critères que je recommanderais de choisir un service ou une fenêtre moins de fenêtre:
Choisissez un exe si:
Choisissez un service si:
Les services peuvent facilement être des trous de sécurité, donc préfèrent .exe aux services. Parfois, vous aurez besoin des deux. Un vérificateur de virus doit pouvoir accéder à chaque fichier sur le système de fichiers (que l'utilisateur actuel peut ne pas être capable de le faire), mais il doit également fournir des informations à l'utilisateur sous forme de boîte de dialogue de notification/pop-ups et à un outil icône de la barre. Les services ne peuvent pas interagir avec l'interface graphique de l'utilisateur directement. Ils peuvent utiliser les services standard Windows IPC (communication inter-processus) tels que des tuyaux et des régions de mémoire partagée. Ces outils ont généralement un service et une fenêtre sans fenêtre par utilisateur qui communique avec le Service à l'aide de tuyaux Windows ou de régions de mémoire partagées.
Obtenez "Programmer la sécurité de Windows" de Keith Brown si vous voulez plonger dans ces sujets.