OVH Cloud OVH Cloud

détecter arrêt de windows

2 réponses
Avatar
J. PINEAU
Bonjour,
comment puis-je, grace avec une appli vb, d=E9tecter soit un=20
arr=EAt de windows ou bien une d=E9connexion utilisateur afin=20
de lancer un ex=E9cutable juste avant ?
merci pour votre aide.
JP

2 réponses

Avatar
Pierre Alexis
Salut,

Tu as écrit :

comment puis-je, grace avec une appli vb, détecter soit un
arrêt de windows ou bien une déconnexion utilisateur afin
de lancer un exécutable juste avant ?
merci pour votre aide.



Quand on arrête Windows, à moins que ton application ne soit un service, il
faudra toujours au préalable fermer la session Windows. Donc peu importe si on
arrête Windows ou si on change d'utilisateur, il suffit d'intercepter
uniquement les fermetures de session. Cela se fait très facilement.

Néanmoins exécuter un programme quand on ferme une session, ce n'est pas très
propre il me semble...

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

' Si la session utilisateur est fermée
If UnloadMode = vbAppWindows Then
' Voir http://faq.vb.free.fr/index.php?question=7
End If

End Sub

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
François Picalausa
Hello,

Il est aussi possible d'utiliser des scripts à la fermeture de la session, à
l'aide des policies, sous nt/2k/xp.
Dans gpedit.msc, dans Configuration utilisateur > Paramètres Windows >
Scripts (démarrage/arrêt) > fermeture de session
Je ne sais pas si on peut lancer directement des exe.
Il sera au moins possible de créer un script qui lancera l'exe... ou
d'utiliser directement un script.
Celà correspond à
HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsSystemScripts

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"J. PINEAU" a écrit dans le
message de news:16ad101c44881$551b9ab0$
Bonjour,
comment puis-je, grace avec une appli vb, détecter soit un
arrêt de windows ou bien une déconnexion utilisateur afin
de lancer un exécutable juste avant ?
merci pour votre aide.
JP