|
|
|
@ -166,7 +166,7 @@ def Write(inTextStr:str, inDelayFloat:float=0, inRestoreStateAfterBool:bool=True
|
|
|
|
|
Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка). Не зависит от текущей раскладки клавиатуры! Посылает искусственные клавишные события в ОС, моделируя печать данного текста. Знаки, не доступные на клавиатуре, напечатаны как явный unicode знаки, использующие определенную для ОС функциональность, такие как alt+codepoint.
|
|
|
|
|
Чтобы гарантировать текстовую целостность, все в настоящее время нажатые ключи выпущены прежде текст напечатан, и модификаторы восстановлены впоследствии.
|
|
|
|
|
|
|
|
|
|
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
|
|
|
|
|
ВНИМАНИЕ! ПЕЧАТАЕТ ЛЮБУЮ СТРОКУ, ДАЖЕ В СОЧЕТАНИИ НЕСКОЛЬКИХ ЯЗЫКОВ ОДНОВРЕМЕННО. ДЛЯ РАБОТЫ С ГОРЯЧИМИ КЛАВИШАМИ ИСПОЛЬЗУЙ ФУНКЦИЮ Send, Up, Down, HotkeyCombination
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
@ -189,7 +189,7 @@ def Write(inTextStr:str, inDelayFloat:float=0, inRestoreStateAfterBool:bool=True
|
|
|
|
|
time.sleep(inWaitAfterSecFloat)
|
|
|
|
|
|
|
|
|
|
def HotkeyCombination(*inKeyList, inDelaySecFloat = 0.3,inWaitAfterSecFloat:float=0.4):
|
|
|
|
|
"""Получает перечень кнопок для одновременного нажатия. Между нажатиями программа ожидания время inDelaySecFloat
|
|
|
|
|
"""Получает перечень клавиш для одновременного нажатия. Между нажатиями программа ожидания время inDelaySecFloat
|
|
|
|
|
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
@ -201,7 +201,7 @@ def HotkeyCombination(*inKeyList, inDelaySecFloat = 0.3,inWaitAfterSecFloat:floa
|
|
|
|
|
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A)
|
|
|
|
|
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_ALT_LEFT,Keyboard.KEY_HOT_TAB, Keyboard.KEY_HOT_TAB)
|
|
|
|
|
|
|
|
|
|
:param inKeyList: Список клавиш для одновременного нажатия. Перечень кнопок см. в разделе "Коды кнопок". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
|
|
|
|
|
:param inKeyList: Список клавиш для одновременного нажатия. Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
|
|
|
|
|
:param inDelaySecFloat: Интервал между нажатиями. Необходим в связи с тем, что операционной системе требуется время на реакцию на нажатие клавиш, по умолчанию: 0.3
|
|
|
|
|
:type inDelaySecFloat: float, опционально
|
|
|
|
|
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию 0.4
|
|
|
|
@ -241,41 +241,101 @@ def HotkeyCtrlA_CtrlC(inWaitAfterSecFloat:float=0.4) -> None:
|
|
|
|
|
|
|
|
|
|
def Send(inKeyInt:int, inDoPressBool:bool=True, inDoReleaseBool:bool=True,inWaitAfterSecFloat:float=0.4) -> None:
|
|
|
|
|
"""
|
|
|
|
|
Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши
|
|
|
|
|
ВНИМАНИЕ! ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
|
|
|
|
|
Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши
|
|
|
|
|
|
|
|
|
|
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
# Keyboard: Взаимодействие с клавиатурой
|
|
|
|
|
from pyOpenRPA.Robot import Keyboard
|
|
|
|
|
Keyboard.Send(Keyboard.KEY_ENG_A) # Нажать кноку A. Если будет активна русская раскладка, то будет выведена буква ф.
|
|
|
|
|
Keyboard.Send(Keyboard.KEY_ENG_A) # Нажать клавишу A. Если будет активна русская раскладка, то будет выведена буква ф.
|
|
|
|
|
|
|
|
|
|
:param inKeyInt: Перечень кнопок см. в разделе "Коды кнопок". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
|
|
|
|
|
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
|
|
|
|
|
:type inKeyInt: int
|
|
|
|
|
:param inDoPressBool: Выполнить событие нажатия кнопки, По умолчанию True
|
|
|
|
|
:param inDoPressBool: Выполнить событие нажатия клавиши, По умолчанию True
|
|
|
|
|
:type inDoPressBool: bool, опционально
|
|
|
|
|
:param inDoReleaseBool: Выполнить событие отпускания кнопки, По умолчанию True
|
|
|
|
|
:param inDoReleaseBool: Выполнить событие отпускания клавиши, По умолчанию True
|
|
|
|
|
:type inDoReleaseBool: bool, опционально
|
|
|
|
|
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию 0.4
|
|
|
|
|
:type inWaitAfterSecFloat: float, опционально
|
|
|
|
|
"""
|
|
|
|
|
send(hotkey=inKeyInt, do_press=inDoPressBool, do_release=inDoReleaseBool)
|
|
|
|
|
time.sleep(inWaitAfterSecFloat)
|
|
|
|
|
|
|
|
|
|
def Up(inKeyInt:int, inWaitAfterSecFloat:float=0.4) -> None:
|
|
|
|
|
"""
|
|
|
|
|
Отпустить (поднять) клавишу. Если клавиша уже была поднята, то ничего не произойдет.
|
|
|
|
|
|
|
|
|
|
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
# Keyboard: Взаимодействие с клавиатурой
|
|
|
|
|
from pyOpenRPA.Robot import Keyboard
|
|
|
|
|
Keyboard.Up(Keyboard.KEY_ENG_A) # Отпустить клавишу A.
|
|
|
|
|
|
|
|
|
|
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
|
|
|
|
|
:type inKeyInt: int
|
|
|
|
|
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию 0.4
|
|
|
|
|
:type inWaitAfterSecFloat: float, опционально
|
|
|
|
|
"""
|
|
|
|
|
send(hotkey=inKeyInt, do_press=False, do_release=True)
|
|
|
|
|
time.sleep(inWaitAfterSecFloat)
|
|
|
|
|
|
|
|
|
|
def Down(inKeyInt:int, inWaitAfterSecFloat:float=0.4) -> None:
|
|
|
|
|
"""
|
|
|
|
|
Нажать (опустить) клавишу. Если клавиша уже была опущена, то ничего не произойдет.
|
|
|
|
|
|
|
|
|
|
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
# Keyboard: Взаимодействие с клавиатурой
|
|
|
|
|
from pyOpenRPA.Robot import Keyboard
|
|
|
|
|
Keyboard.Down(Keyboard.KEY_ENG_A) # Отпустить клавишу A.
|
|
|
|
|
|
|
|
|
|
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
|
|
|
|
|
:type inKeyInt: int
|
|
|
|
|
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию 0.4
|
|
|
|
|
:type inWaitAfterSecFloat: float, опционально
|
|
|
|
|
"""
|
|
|
|
|
send(hotkey=inKeyInt, do_press=True, do_release=False)
|
|
|
|
|
time.sleep(inWaitAfterSecFloat)
|
|
|
|
|
|
|
|
|
|
def IsDown(inKeyInt:int) -> bool:
|
|
|
|
|
"""
|
|
|
|
|
Проверить, опущена ли клавиша. Вернет True если опущена; False если поднята.
|
|
|
|
|
|
|
|
|
|
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
# Keyboard: Взаимодействие с клавиатурой
|
|
|
|
|
from pyOpenRPA.Robot import Keyboard
|
|
|
|
|
lKeyAIsPressedBool = Keyboard.IsDown(Keyboard.KEY_ENG_A) # Проверить, опущена ли клавиша A.
|
|
|
|
|
|
|
|
|
|
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
|
|
|
|
|
:type inKeyInt: int
|
|
|
|
|
"""
|
|
|
|
|
return is_pressed(inKeyInt)
|
|
|
|
|
|
|
|
|
|
def Wait(inKeyInt:int,inWaitAfterSecFloat:float=0.4):
|
|
|
|
|
"""Блокирует осуществление программы, пока данная обозначенная кнопка не будет нажата.
|
|
|
|
|
"""Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.
|
|
|
|
|
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ. ОЖИДАЕТ НАЖАТИЕ СООТВЕТСВУЮЩЕЙ ФИЗИЧЕСКОЙ КЛАВИШИ
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
# Keyboard: Взаимодействие с клавиатурой
|
|
|
|
|
from pyOpenRPA.Robot import Keyboard
|
|
|
|
|
Keyboard.Wait(Keyboard.KEY_ENG_A) # Ждать нажатие кнопки A.
|
|
|
|
|
Keyboard.Wait(Keyboard.KEY_ENG_A) # Ждать нажатие клавиши A.
|
|
|
|
|
|
|
|
|
|
:param inKeyInt: Перечень кнопок см. в разделе "Коды кнопок". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
|
|
|
|
|
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
|
|
|
|
|
:type inKeyInt: int
|
|
|
|
|
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию 0.4
|
|
|
|
|
:type inWaitAfterSecFloat: float, опционально
|
|
|
|
|
"""
|
|
|
|
|
wait(hotkey=inKeyInt)
|
|
|
|
|
time.sleep(inWaitAfterSecFloat)
|
|
|
|
|
|
|
|
|
|
key_to_scan_codes("win") # 2022 06 10 Люблю смотреть скан код клавиши Виндовс :)
|