1

У меня есть настройка управления питанием (настроенная через панель управления), которая выключает монитор после 5 минут простоя, но постоянно включает питание, если ноутбук подключен к источнику питания. Однако при этом значении компьютер не блокируется и становится уязвимым для попыток любого прохожего войти в систему, если меня нет рядом.

Есть ли способ принудительной блокировки в этой ситуации? (Я могу принудительно заблокировать, если у меня ноутбук переходит в спящий режим, но для немедленного доступа я бы хотел включить питание, когда ноутбук подключен к источнику питания.)

3 ответа3

4

Вы можете использовать заставку, которую можно отключить только с помощью пароля:

  • В меню «Пуск» выберите «Панель управления».
  • Нажмите «Показать», а затем нажмите «Заставка».
  • В поле ожидания выберите 5 минут
  • Нажмите «Возобновить», защитите паролем и нажмите «ОК».
4

Блокировка Windows с помощью кнопки с логотипом Windows L, когда вы уходите от компьютера ...Готово!

2

Для этого я создал небольшой скрипт AutoIt. Он работает в цикле, периодически проверяя значение функции _Timer_GetIdleTime() из Timers.au3 , если оно становится больше определенного времени, сценарий выполняет tsdiscon.exe и компьютер выходит на экран приветствия.

Вот код, который я использовал:

#include <Timers.au3>

const $setpoint = 900000 ; switch by idle time setpoint 900000 ms = 15 minutes
const $interval = 60000 ; check interval 60000 ms = 1 minute
const $tsdisconpath = "C:\WINDOWS\System32\tsdiscon.exe" ; specify the actual path for your OS, this might need to be changed
; eg on my Win 7 HB x64 the file full path is C:\WINDOWS\winsxs\amd64_microsoft-windows-t..es-commandlinetools_31bf3856ad364e35_6.1.7601.17514_none_42d65ed50fa3c682\tsdiscon.exe

$disconnected = false
$idle = 0
while true
    $prev = $idle
    $idle = _Timer_GetIdleTime()
    if $disconnected and $prev > $idle then ; user has logged in again
        $disconnected = false ; reset state
    endif
    if $idle > $setpoint and not $disconnected then
        run($tsdisconpath, "") ; exit to welcome screen
        sleep(10000)
        $disconnected = true
        $idle = 0
    endif
    sleep($interval)
wend

Вы должны указать фактический путь к файлу tsdiscon.exe для вашей ОС. Я скомпилировал этот код для exe с Aut2Exe (он доступен как в полной установке, так и в переносимом AutoIt) и установил автозапуск. Версия AutoIt была 3.3.8.1.
Если вы хотите выйти на экран блокировки вместо экрана приветствия, используйте

const $tsdisconpath = "RunDll32.exe user32.dll,LockWorkStation

Муха в мази. Я должен сказать о мелких недостатках сценария, с которым вы можете столкнуться. Обычно вы не касаетесь мыши и клавиатуры во время просмотра фильмов, поэтому сценарий неожиданно завершает работу с заданным значением и фильм продолжит воспроизведение. Также я заметил, что когда я просыпаюсь после гибернации компьютера и захожу в систему, по какой-то причине скрипт обнаруживает, что время истекло, и выходит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .