Je dois écrire une application C# qui s'exécute sur WindowsME. Oui, je veux dire ce système d'exploitation Microsoft qui a été oublié il y a longtemps. Mon programme n'a pas besoin d'interaction avec l'utilisateur et comme WindowsME ne prend pas en charge les services, il s'agira d'une application console. En outre, il sera utilisé sur des systèmes d'exploitation plus modernes, où l'utilisateur peut choisir de le démarrer en tant qu'application console ou de l'installer en tant que service Windows. Supposons maintenant que le logiciel s'exécute sur WinME et que l'utilisateur décide de se déconnecter ou d'arrêter la machine sans avoir préalablement quitté mon logiciel. WinME se plaint que mon programme est toujours en cours d'exécution et demande s'il devrait tuer le processus. En dehors de la mauvaise expérience utilisateur, cela signifie que l'application n'est pas fermée correctement. Donc, je cherche un moyen d'être informé si l'utilisateur se déconnecte ou veut éteindre la machine pour pouvoir effectuer un arrêt correct de mon logiciel en premier.gérer les demandes de fermeture de session ou d'arrêt de machine sur WindowsME
Répondre
Je pense que WM_ENDSESSION est supporté par Windows ME donc je pense que vous devriez essayer d'attraper cet événement. C'est celui envoyé à toutes les fenêtres de haut niveau lorsque la session Windows se termine (via la déconnexion ou l'arrêt).
Je pense que WM_ENDSESSION est venu avec win2000 (branche NT de Windows). Je ne me souviens pas si c'était jamais en win9x. – dkackman
Je ne suis pas certain non plus, j'ai trouvé quelques liens qui semblaient indiquer que quelqu'un l'avait utilisé dans Win98, mais je n'ai rien trouvé d'officiel et ce n'est pas comme si j'avais un système de test Win98/WinME IT out :) –
Avez-vous essayé de gérer SystemEvents.SessionEnding/SystemEvents.SessionEnded? Pour l'utiliser, vous devrez créer un formulaire caché, je crois que l'exemple MSDN le démontre.
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx
Est-ce le temps d'exécution .NET même pris en charge sur Windows ME? Est-ce que ça marche? Je pensais vraiment que l'option de bureau la plus ancienne était Windows XP. –
.NET 2.0 est supporté pour WinME et même pour Win98. Le logiciel fonctionne aussi bien sur ME que sur Vista. Seul le comportement d'arrêt est un problème sur ME. – skylap
Quelle version de .Net? – SLaks