Нажатия клавиш в Python

22
задан Joe 23 February 2012 в 08:31
поделиться

4 ответа

Установите эти расширения pywin32 . Тогда можно сделать следующее:

import win32com.client as comclt
wsh= comclt.Dispatch("WScript.Shell")
wsh.AppActivate("Notepad") # select another application
wsh.SendKeys("a") # send the keys you want

Поиск документации WScript. Объект Shell (я верю установленный по умолчанию во все установки Windows XP). Можно запустить здесь , возможно.

РЕДАКТИРОВАНИЕ: Передающий F11

import win32com.client as comctl
wsh = comctl.Dispatch("WScript.Shell")

# Google Chrome window title
wsh.AppActivate("icanhazip.com")
wsh.SendKeys("{F11}")
26
ответ дан SmartManoj 29 November 2019 в 03:41
поделиться

Автогорячая клавиша идеально подходит для этого вида задач (автоматизация клавиатуры / повторно отображающийся)

Сценарий для отправки "A" 100 раз:

Send {A 100}

Это - весь

РЕДАКТИРОВАНИЕ : отправить ключи к определенному приложению:

WinActivate Word
Send {A 100}
10
ответ дан PabloG 29 November 2019 в 03:41
поделиться

Если бы Вы - платформа, Windows, я на самом деле не рекомендовал бы Python. Вместо этого изучите Автогорячая клавиша . Доверяйте мне, я люблю Python, но при этом обстоятельстве макро-программа является идеальным инструментом для задания. Сценарии автогорячей клавиши только достойны (по-моему), но простота моделирования входа сохранит Вас бесчисленные часы. Сценарии автогорячей клавиши могут быть "скомпилированы" также, таким образом, Вам не нужен интерпретатор для выполнения сценария.

кроме того, если это для чего-то в сети, я рекомендую iMacros. Это - плагин Firefox и поэтому имеет намного лучшую интеграцию с веб-сайтами. Например, можно сказать "запись, 1000 'a's в этой форме" вместо "моделируют щелчок мышью в (319,400) и затем нажимают 1000 времена".

Для Linux, я, к сожалению, не был в состоянии найти хороший способ легко создать макросы клавиатуры/мыши.

2
ответ дан Martin W 29 November 2019 в 03:41
поделиться

Альтернативный способ установить предпочтительное окно на передний план перед отправкой события нажатия клавиши.

hwnd = win32gui.FindWindowEx(0,0,0, "App title")
win32gui.SetForegroundWindow(hwnd)
2
ответ дан 29 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: