send_key用法和热键清单

更新时间:
复制 MD 格式

用法

如果在自动化操作过程中需要使用到快捷键,可以使用send_key完成操作。

说明

send_keyinput_hotkey(详见 input_hotkey用法和虚拟键码清单)的差异:

  • 运行效果:send_keyinput_hotkey能够实现的键盘操作效果基本一致

  • 使用差异

    • input_hotkey需要在指定的控件上执行、执行效果更加准确和可控

    • send_key不依赖控件,在当前窗口或光标位置输入,需要自动化流程的前面步骤控制好光标位置。

推荐优先使用input_hotkey

编码开发模式中,可使用 send_key

可视化开发模式中,可使用 输入热键组件。

示例可参考 使用CV模式操作钉钉客户端发送消息

以编码开发模式为例,更多的使用方式如下:

  • 组合按键

    简码形式

    使用示例

    效果

    ^{a}

    send_key("^{A}")

    Ctrl + A

    !{a}

    send_key("!{A}")

    Alt + A

    +{a}

    send_key("+{A}")

    Shift + A

    #{R}

    send_key("#{R}")

    WIN + R

    ^+{S}

    send_key("^+{S}")

    Ctrl + Shift +S

  • 按住某个键

    # 按住按键 A
    rpa.ui.win32.send_key("{A DOWN}")
    
    # 松开按键 A
    rpa.ui.win32.send_key("{A UP}")
  • 重复按键

    # 连续4次按下 DEL 键
    rpa.ui.win32.send_key("{DEL 4}")
    
    # 连续按30S
    rpa.ui.win32.send_key("{S 30}")
    
    # 连续4次按下 SHIFT+TAB
    rpa.ui.win32.send_key("+{TAB 4}")
    
    # 使用变量控制按下 SHIFT+TAB 的次数
    n = 4
    rpa.ui.win32.send_key("+{TAB %s }" % n)

使用快捷键操作软件

软件窗口经常内置一些快捷键操作,可使用这些快捷键操作而无需使用鼠标点击。

重要

适用在部分控件捕捉不到、但通过被操作软件提供了快捷键可完成对应操作的情况

每个被操作软件支持的快捷键有所不同,需要以被操作软件为准

Windows内置的记事本为例

执行的快捷键

效果

send_key("!{f}")

Alt+f,打开记事本的“文件”菜单

send_key("{DOWN}")

移动焦点到下一个菜单项

send_key("{UP}")

移动焦点到上一个菜单项

send_key("{LEFT}")

切换到左边的菜单或收缩子菜单

send_key("{RIGHT}")

切换到右边的菜单或展开子菜单

send_key("^+{S}")

Ctrl + Shift +S,记事本的“另存为”

热键清单

重要

Fn键不支持被模拟操作

Send 命令(无标志参数)

执行效果

{!}

!

{#}

#

{+}

+

{^}

^

{{}

{

{}}

}

{SPACE}

空格

{ENTER}

主键盘区的 回车键

{ALT}

ALT

{BACKSPACE} 或 {BS}

退格

{DELETE} 或 {DEL}

删除(DELETE)

{UP}

向上箭头

{DOWN}

向下箭头

{LEFT}

向左箭头

{RIGHT}

向右箭头

{HOME}

HOME

{END}

END

{ESCAPE} 或 {ESC}

Esc

{INSERT} 或 {INS}

INS(Insert)

{PGUP}

PGUP(PageUp)

{PGDN}

PGDN(PageDown)

{F1} - {F12}

功能键

{TAB}

TAB

{PRINTSCREEN}

PRINTSCREEN

{LWIN}

左徽标键

{RWIN}

右徽标键

{NUMLOCK}

NUMLOCK

{CTRLBREAK}

Ctrl+Break

{PAUSE}

PAUSE

{CAPSLOCK}

CAPSLOCK

{NUMPAD0} - {NUMPAD9}

数字键盘上的 数字键

{NUMPADMULT}

数字键盘上的 乘号

{NUMPADADD}

数字键盘上的 加号

{NUMPADSUB}

数字键盘上的 减号

{NUMPADDIV}

数字键盘上的 除号

{NUMPADDOT}

数字键盘上的 点号

{NUMPADENTER}

数字键盘上的 回车键

{APPSKEY}

Windows 应用程序键

{LALT}

左 ALT 键

{RALT}

右 ALT 键

{LCTRL}

左 CTRL 键

{RCTRL}

右 CTRL 键

{LSHIFT}

左 Shift 键

{RSHIFT}

右 Shift 键

{SLEEP}

系统休眠(SLEEP)键

{ALTDOWN}

按住 ALT 键直到发送 {ALTUP} 为止

{SHIFTDOWN}

按住 SHIFT 键直到发送 {SHIFTUP} 为止

{CTRLDOWN}

按住 CTRL 键直到发送 {CTRLUP} 为止

{LWINDOWN}

按住左徽标键直到发送 {LWINUP} 为止

{RWINDOWN}

按住右徽标键直到发送 {RWINUP} 为止

{ASC nnnn}

发送 ALT+nnnn 组合键