Выйдите из системы или переключите пользователя в Windows, используя Python - PullRequest
1 голос
/ 09 мая 2009

Я хочу написать небольшую программу, которая задает время (в минутах) в качестве ввода, спит в фоновом режиме в течение этого времени, а затем вынуждает вернуться к «переключению экрана пользователя» (эквивалентно комбинации Winkey + L) или выходит из системы (может быть другой пользователь, вошедший в систему на той же машине).

Какие функции или библиотеки в Python я могу использовать для этого?

Редактировать:

  • Я предпочитаю просто вернуться к экрану «Переключить пользователя», а не выходить из системы
  • Возможно, для этого есть простая команда Windows, которую я мог бы использовать
  • У меня Windows XP, если это актуально

Ответы [ 4 ]

7 голосов
/ 09 мая 2009

Кажется, есть простой способ блокировки компьютера без использования библиотек Python, за исключением ctypes:

import ctypes
ctypes.windll.user32.LockWorkStation ()

Источник: Материал Питона Тима Голдена

1 голос
/ 06 марта 2012

Для переключения пользователей вы можете использовать эту Win32 API функцию WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait)

#include "WtsApi32.h"

BOOL OsofemSwitchUser()
{
//Switch User
return WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, TRUE);
}

Не забудьте связать его с библиотекой WtsApi32.lib.
Это вернет вас к экрану Switch User ... Надеюсь, что это поможет ...

1 голос
/ 09 мая 2009

Возможно, вы можете использовать os.popen или подпроцесс для запуска командной строки Windows для выхода из системы. Я думаю, что выход из системы это команда. (Согласно этому страница )

0 голосов
/ 09 мая 2009

Я думаю, что вы должны использовать Windows API и работать с Python. использовать os.system ('logoff'); (или выход из системы, я забыл) это не проверено, потому что я использую Ubuntu сейчас ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...