Я хотел сделать запланированное задание, которое автоматически отключит мой компьютер. Я обнаружил, что запуск этого в командной строке работал, чтобы отключить мой компьютер:

python -c "from SendKeys import playkeys; playkeys([(0xAD, True), (0xAD, False)] * 50)"

Это эмулирует нажатие клавиши громкости и отпускание 50 раз в течение ~ 2 секунд.

Поэтому я вошел в планировщик задач и создал задачу. Он будет работать как я, вне зависимости от того, вошел я в систему или нет. У него есть мой пароль. Я установил его для работы как с высшими привилегиями, так и без них, это не имеет значения. Это включено. Это не спрятано.

Действие - это запуск программы. Программа / скрипт - это C:\Python27\python.exe (то же самое, что обычный python в командной строке.) В окне аргументов у меня есть это:

-c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)] * 50)"

Начало пустое.

Когда я нажимаю "Выполнить", это показывает, что для выполнения действия требуется несколько секунд, что является правильным и предполагает, что оно что-то делает, но мой объем не заканчивается, как должно.

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

1 ответ1

0

Задача не имеет доступа к вашему рабочему столу, поэтому ей некуда отправлять нажатия клавиш.

Возможно, попробуйте использовать Nircmd вместо этого.

Для более общего подхода к вашей актуальной проблеме (вместо попытки понять, как решить ее с помощью Python конкретно), возможно, проверьте этот другой существующий вопрос SU:

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