2009-05-09 10 views
1

Je veux écrire un petit programme qui donne une heure (en minutes) en entrée, dort en arrière-plan pendant ce temps, puis force le retour à l'écran de changement d'utilisateur (équivalent à la combinaison Winkey + L) ou déconnecte un utilisateur (peut être un autre utilisateur connecté sur la même machine).Déconnectez-vous ou changez d'utilisateur sous Windows en utilisant Python

Quelles fonctions ou bibliothèques en Python pourrais-je utiliser pour cela?

Edit:

  • Je préfère juste un retour au « Changer d'utilisateur » écran plutôt que réellement vous déconnecter
  • Peut-être il y a une simple commande Windows pour ce faire, que je pouvais utiliser
  • I avoir Windows XP si cela est pertinent

Répondre

7

Il semble y avoir un moyen simple de verrouiller un ordinateur à l'aide sans bibliothèques Python sauf pour ctypes:

import ctypes 
ctypes.windll.user32.LockWorkStation() 

Source: Tim Golden's Python Stuff

+0

semble bon, je ' ll l'essayer –

+0

Fonctionne bien. Merci. –

1

Peut-être que vous pouvez utiliser os.popen ou subprocess pour lancer la ligne de commande Windows pour la déconnexion. Je pense que la déconnexion est la commande. (Selon ce page)

+0

la déconnexion semble bien, mais je préfère juste verrouiller l'utilisateur (comme Winkey + L) –

0

Je pense que vous devez utiliser l'API Windows, et exécuté par python. utilise os.system ('logoff'); (Ou LOGOUT, j'oublie) il n'a pas été testé, parce que je me sers maintenant ubuntu ...

1

Pour changer d'utilisateur, vous pouvez utiliser cette API Win32 fonction WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait)

#include "WtsApi32.h" 

BOOL OsofemSwitchUser() 
{ 
//Switch User 
return WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, TRUE); 
} 
N'oubliez pas de lier la bibliothèque WtsApi32.lib à l'adresse suivante:

.
Cela vous reviendra à l'écran Switch User ... Espérons que cette aide ...

Questions connexes