Заблокировать рабочую станцию ​​Windows с помощью Python

Есть ли способ заблокировать ПК с Python script в Windows?

Я не хочу реализовывать какую-то блокировку самостоятельно - я бы хотел использовать тот же экран блокировки, который также использовался, когда пользователь нажимает WIN + L или блокирует машину через меню "Пуск".

Ответ 1

Это можно сделать с помощью функции LockWorkStation() из user32.dll:

Эта функция имеет тот же результат, что и нажатие Ctrl + Alt + Del и нажатие кнопки "Заблокировать рабочую станцию".

В Python его можно вызвать с использованием ctypes/windll FFI из Python stdlib:

import ctypes
ctypes.windll.user32.LockWorkStation()

Ответ 2

Хорошее решение, которое заставляет нас избегать использования библиотек /DLL файлов, - это использование команды prompet/power shell. попробуйте выполнить эту команду в вашем cmd rundll32.exe user32.dll, LockWorkStation....ПК заблокирован !! поэтому мы можем использовать подпроцесс для запуска этой команды следующим образом:

    import subprocess
    cmd='rundll32.exe user32.dll, LockWorkStation'
    subprocess.call(cmd)