Exécuter des applications GUI à partir d'un service Windows
Développer un service Windows capable d'exécuter des applications GUI peut être une tâche déroutante. Les méthodes traditionnelles telles que l'utilisation de CreateProcess ne suffisent pas lorsqu'il s'agit d'applications nécessitant une interface graphique. Cet article fournit une solution à ce problème, en exploitant des techniques pour localiser le bureau actif et y exécuter des applications GUI.
Selon Roger Lipscombe, l'approche recommandée consiste à utiliser WTSEnumerateSessions pour identifier le bureau actif et CreateProcessAsUser pour lancer le application sur ce bureau. Cependant, il est crucial de faire preuve de prudence lors de la mise en œuvre de cette solution.
Plusieurs utilisateurs partageant des hôtes Terminal Server peuvent introduire des complexités dans la détermination du bureau actif approprié. De plus, les applications apparaissant de manière aléatoire sur le bureau d'un utilisateur peuvent être perturbatrices et potentiellement préjudiciables à la productivité de l'utilisateur.
Pour atténuer ces problèmes, une approche plus fiable consiste à créer un raccourci vers une application client au sein du groupe de démarrage global. Cette application client accompagnera chaque session utilisateur et pourra être utilisée pour lancer d'autres applications selon les besoins. Cette approche élimine le besoin de manipuler les informations d'identification, les sessions ou les postes de travail des utilisateurs. De plus, les administrateurs peuvent facilement gérer ce raccourci en le modifiant ou en le désactivant, en rationalisant le déploiement des applications et en respectant les normes d'application Windows.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!