2009-02-06 12 views
4

Je cherchais des façons de changer le type de démarrage d'un service Windows et j'ai trouvé 2 façons de le faire ...Modification de démarrage de type de service (Windows)

By editing the Registry Ou By using the WMI classes

Je veux savoir lequel est le meilleur ... Je veux que mon application fonctionne correctement sur Windows et Vista.

+0

Un petit contexte serait utile. Votre application est-elle le service lui-même (c'est-à-dire, vous avez besoin d'un programme d'installation) ou une application qui configure un service? – tvanfosson

+0

Merci pour votre question, l'édition dans le registre était exactement ce que je cherchais. – freggel

Répondre

1

Vous pouvez également utiliser directement l'API win32. Je recommanderais certainement la classe WMI; il est très probable que s'il y a des changements dans les futures versions de Windows, votre code fonctionne toujours.

+0

WMI a également l'avantage qu'en théorie, il pourrait éventuellement être un jour plat. Il n'y a pas beaucoup de chance que le registre ou les appels API Win32 seraient jamais. – EBGreen

1

Je vous voulez être sûr pour les futures versions de Windows, mieux utiliser WMI.

Si vous ne pensez pas au-delà de Windows 7, je recommande les fonctions WinAPI (OpenSCManager et ChangeServiceConfig). Je les trouve plus faciles à comprendre, et il y a des tonnes d'exemples de code sur la façon de les utiliser. WMI d'autre part est encore nouveau, et pas aussi bien documenté.

Il ne faut jamais modifier le registre directement. Les interfaces WinAPI ou WMI existent pour extraire la tâche de la façon dont Windows gère les données en interne. Contourner les apporte le plus grand risque de rupture dans le futur.