Private Declare PtrSafe Function LockWorkStation Lib "user32.dll" () As Long ' à mettre en haut de module
'méthode 1 avec l'api
Sub VerrouillerSession()
LockWorkStation
End Sub
'méthode 2 avec le sendkeys avec wscript.shell créé dinamico
Sub VerrouillerSession_Wsh()
CreateObject("WScript.Shell").SendKeys "^{L}" ' Simule Win + L
End Sub
'méthode 3 avec le run d'un wscript.shell créé dinamico argument shutdown" et -1 pour ne fermer que la session
Sub FermerSession()
CreateObject("WScript.Shell").Run "shutdown -l", 0, False
End Sub
'méthode 4 avec le run d'un wscript.shell créé dinamico argument shutdown" et -1 pour ne fermer que la session avec delay
Sub FermerSession_dans_1_minute()
CreateObject("WScript.Shell").Run "shutdown -l -t 60", 0, False
End Sub
'méthode 4 éteindre le pc immediatement
Sub Eteindre_PC_IMMEDIATEMENT()
CreateObject("WScript.Shell").Run "shutdown -s -t 0", 0, False
End Sub
'méthode 5 redemarer le pc immédiatement
Sub Redemarrer_PC()
CreateObject("WScript.Shell").Run "shutdown -r -t 0", 0, False
End Sub
'méthode 6 éteindre le pc dans 1 minute
Sub Eteindre_PC_dans_1_min()
CreateObject("WScript.Shell").Run "shutdown -s -t 60", 0, False
End Sub
'méthode 7 annuler un arrêt programé
Sub Annuler_Arret()
CreateObject("WScript.Shell").Run "shutdown -a", 0, False
End Sub
'méthode 8 mettre en veille prolongé
Sub Mettre_En_Veille_Prolongee()
CreateObject("WScript.Shell").Run "shutdown -h", 0, False
End Sub
'méthode 9 eteindre le pc avec demande de confirmation
Sub Eteindre_Avec_Confirmation()
If MsgBox("Voulez-vous vraiment éteindre votre PC ?", vbYesNo + vbQuestion, "Confirmation") = vbYes Then
CreateObject("WScript.Shell").Run "shutdown -s -t 0", 0, False
End If
End Sub