XL 2016 [VBA] Verrouiller la session Windows en VBA ?

  • Initiateur de la discussion Initiateur de la discussion F22Raptor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F22Raptor

XLDnaute Impliqué
Bonjour à tous,
Je me demandais s'il exister un code VBA simple, qui permette de verrouiller la session Windows.
Etant donné que ça correspond à la combinaison de touches WIN+L, peut-être un sendkeys ? Mais comment, par Sendkeys, envoyer une combinaison de touches, en même temps, et pas WIN suivi de L ?

Qu'en pensez-vous ?
 
Solution
bonjour

3 méthodes fonctionnelles sur Win 7/8/10/11

'méthode 1 avec l'api
VB:
Private Declare PtrSafe Function LockWorkStation Lib "user32.dll" () As Long ' à mettre en haut de module

Sub VerrouillerSession()
    LockWorkStation
End Sub
'----------------------------------------------------------
'méthode 2 avec le sendkeys avec wscript.shell créé dinamico
Code:
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
Code:
Sub FermerSession()
   CreateObject("WScript.Shell").Run "shutdown -l", 0, False
End...
bonjour

3 méthodes fonctionnelles sur Win 7/8/10/11

'méthode 1 avec l'api
VB:
Private Declare PtrSafe Function LockWorkStation Lib "user32.dll" () As Long ' à mettre en haut de module

Sub VerrouillerSession()
    LockWorkStation
End Sub
'----------------------------------------------------------
'méthode 2 avec le sendkeys avec wscript.shell créé dinamico
Code:
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
Code:
Sub FermerSession()
   CreateObject("WScript.Shell").Run "shutdown -l", 0, False
End Sub

la meilleur solution etant celle avec l'api
la wscript.shell.send keys a tendence a taper dans le vide (une histoire de focus)
la methode run fonctionne parfaitement bien si tu es allergique aux apis

et j'en ai plein d'autres comme ça si tu veux
patrick
 
Dernière édition:
re
👍 pointe le sujet résolu alors pour clôturer
et pour le coup si ça t’intéresse j'ai écris un petit topic dans les astuces
 
re
👍 pointe le sujet résolu alors pour clôturer
et pour le coup si ça t’intéresse j'ai écris un petit topic dans les astuces
done ! 🙂
 
c'est tout ça le lien
1744143571538.png
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
706
  • Question Question
XL 2016 MACROS-VBA
Réponses
1
Affichages
490
Réponses
5
Affichages
535
Compte Supprimé 979
C
Retour