Une DLL est « appelé » lorsque vous utilisez c'est des fonctions. Donc, si vous avez un projet DLL avec quelques classes et quelques fonctions dans vos classes, simplement add the DLL as a reference à votre projet de service et appelez les fonctions appropriées.
Vous pouvez utiliser this library pour créer votre service Windows. La raison en est, lorsque vous construisez un service Windows à l'aide du modèle Visual Studio, la version résultante n'est pas vraiment 'exécutée'. La version résultante est un service Windows qui doit être installé, puis started using the Services Snap-In. Mais en utilisant la bibliothèque de services Windows personnalisée de Hoytsoft, votre service s'installe automatiquement et se lance automatiquement - comme une application Windows Form normale. Pour garantir l'exécution de votre service au démarrage, n'oubliez pas de configurer votre classe de service sur AutoStart (comme expliqué dans son article CodeProject). Pour vous assurer que votre service s'exécute en continu, même lorsque le processus est tué, vous pouvez ajouter ce hack de registre pratique qui définit les indicateurs de service de redémarrage sur Redémarrer immédiatement.
Ce registre Hack ==
Registre Hack:
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\<YOUR_SERVICE_NAME_HERE>", true);
key.SetValue("FailureActions", new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, Microsoft.Win32.RegistryValueKind.Binary);
key.Close();
Comprendre que tout utilisateur administratif peut tuer encore votre processus en désactivant simplement votre service.
Ceci est génial Jason mais je ne suis pas sûr que le HoytSoft.dll exécuté sur mon environnement de test est 64 bits. – Usher
Hmm, avez-vous une erreur spécifique alors? – Jason
Je n'ai pas encore testé dans mon environnement de test avant le déploiement, je veux juste m'assurer qu'il prend en charge 64bit aussi. – Usher