Я делаю приложение, которое управляет браузером с помощью SendKeys. Но поскольку SendKeys получает полный контроль над клавиатурой, я хочу запустить это приложение под другим пользователем. Таким образом, я буду работать, приложение будет делать то, что он должен делать, и мы не будем создавать проблемы друг для друга).Python - управляющее приложение, запущенное другим пользователем в Windows
Простейший код
import time
import SendKeys
time.sleep(10)
SendKeys.SendKeys('hello')
я запускаю его, сосредоточиться на поле, где я хочу, чтобы вставить мой текст «привет», и ждать. Если я не изменю пользователя, все будет сделано так, как ожидалось. Но когда я запустил его, измените пользователя и вернемся через 10 секунд, я вижу, что SendKeys ничего не отправил в программу.
Как отправить нажатия клавиш в программу под другим пользователем?
(Я пытался сделать то же самое с pywinauto, но результат был почти таким же - все хорошо, если я не меняю пользователя, и ошибку, если я его изменю. Поэтому я подумал, что это намного проще для решения этой проблемы только с помощью SendKeys).
Приложение, работающее с пользователем X, способным отправлять нажатия клавиш приложениям пользователя Y, будет серьезной проблемой безопасности. Это не должно быть возможным по дизайну. –
Как насчет запуска сценария автоматизации под пользователем Y? Конечно, для этого вам нужен простой сценарий запуска. –
@ João Pinto Нет, пользователь X запускает программу и должен работать в среде X. Даже когда пользователь изменен, все его программы должны продолжать работать. Например, если я запускаю сценарий, который вычисляет что-то и меняет пользователя на другой, после переустановки я вижу, что скрипт работал все это время. – SKulibin