SendKeys 方法 (Shell 对象)

发送一个或多个键击到活动窗口中(就如同在键盘上输入一样)。 这个 Send Keys 方法还能模拟鼠标活动。当这个方法发送所有鼠标操作到任何窗口中时,我们不推荐再发送鼠标操作到已经开始运行宏的 EmEditor 窗口中。

[JavaScript]

shell.SendKeys( str );

[VBScript]

shell.SendKeys str

参数

str

指定一个表示你想要发送的击键的字符串。它还能包括鼠标活动。要发送特殊字符或鼠标活动,请用下列的表格:

参数

ALT

%

ALT DOWN

{ALT DOWN}

ALT UP

{ALT UP}

APPS

{APPS}

BACKSPACE

{BACKSPACE},{BS},或 {BKSP}

BREAK

{BREAK}

CAPS LOCK

{CAPSLOCK}

CLEAR

{CLEAR}

CTRL

^

CTRL DOWN

{CTRL DOWN}

CTRL UP

{CTRL UP}

CONVERT

{CONVERT}

DEL 或 DELETE

{DELETE} 或 {DEL}

DOWN ARROW

{DOWN}

END

{END}

ENTER

{ENTER} 或 ~

ESC

{ESC}

F1

{F1}

F2

{F2}

F3

{F3}

F4

{F4}

F5

{F5}

F6

{F6}

F7

{F7}

F8

{F8}

F9

{F9}

F10

{F10}

F11

{F11}

F12

{F12}

F13

{F13}

F14

{F14}

F15

{F15}

F16

{F16}

HELP

{HELP}

HOME

{HOME}

INS 或 INSERT

{INSERT} 或 {INS}

LEFT ARROW

{LEFT}

LEFT WINDOWS

{LWIN}

鼠标按下

{BTNDOWN button, x, y}

鼠标弹起

{BTNUP button, x, y}

单击鼠标

{CLICK button, x, y}

双击鼠标

{DBLCLICK button, x, y}

移动鼠标到

{MOVETO button, x, y}

NONCONVERT

{NONCONVERT}

NUM LOCK

{NUMLOCK}

NUMPAD *

{NUMPAD*}

NUMPAD +

{NUMPAD+}

NUMPAD -

{NUMPAD-}

NUMPAD .

{NUMPAD.}

NUMPAD /

{NUMPAD/}

NUMPAD 0

{NUMPAD0}

NUMPAD 1

{NUMPAD1}

NUMPAD 2

{NUMPAD2}

NUMPAD 3

{NUMPAD3}

NUMPAD 4

{NUMPAD4}

NUMPAD 5

{NUMPAD5}

NUMPAD 6

{NUMPAD6}

NUMPAD 7

{NUMPAD7}

NUMPAD 8

{NUMPAD8}

NUMPAD 9

{NUMPAD9}

PAGE DOWN

{PGDN}

PAGE UP

{PGUP}

PRINT SCREEN

{PRTSC}

RIGHT ARROW

{RIGHT}

RIGHT WINDOWS

{RWIN}

SCROLL LOCK

{SCROLLLOCK}

SHIFT

+

SHIFT DOWN

{SHIFT DOWN}

SHIFT UP

{SHIFT UP}

TAB

{TAB}

UP ARROW

{UP}

Virtual-Key Code #nnn

{VKnnn}

button: LEFT, RIGHT, MIDDLE

x: X 屏幕坐标值

y: Y 屏幕坐标值

当按下 SHIFT 时,同时按下 A 和 B,用 "+(ab)".

当按下 SHIFT 时,同时按下 A,然后再按一个 B (这时不按 SHIFT),用 "+ab".

示例

[JavaScript]

shell.SendKeys( "{CLICK LEFT, 10 , 20}" );  // 在屏幕坐标 (10,20) 处点击鼠标左键。
shell.SendKeys( "{MOVETO, 30 , 40}" );      // 把鼠标移到屏幕坐标 (30,40) 处。
shell.SendKeys( "abc~" );                   // 输入 "abc" 并按 Enter。
shell.SendKeys( "%fo" );                    // 按住 ALT 不放的同时,按下 F,然后放开 ALT,按下 O。
shell.SendKeys( "{~}~" );                   // 输入 "~" 然后按 Enter。
shell.SendKeys( "{VK25}" );                 // 按下 KANJI 键 (VK\KANJI = 25)。
shell.SendKeys( "{VK65 DOWN}" );            // 按下 A 键,并按住不放 (A 键 = 65)。

[VBScript]

shell.SendKeys "{CLICK LEFT, 10 , 20}"      // 在屏幕坐标 (10,20) 处点击鼠标左键。
shell.SendKeys "{MOVETO, 30 , 40}"          // 把鼠标移到屏幕坐标 (30,40) 处。
shell.SendKeys "abc~"                       // 输入 "abc" 并按 Enter。
shell.SendKeys "%fo"                        // 按住 ALT 不放的同时,按下 F,然后放开 ALT,按下 O。
shell.SendKeys "{~}~"                       // 输入 "~" 然后按 Enter。
shell.SendKeys "{VK25}"                     // 按下 KANJI 键 (VK\KANJI = 25)。
shell.SendKeys "{VK65 DOWN}"                // 按下 A 键,并按住不放 (A 键 = 65)。

版本

支持 EmEditor 7.00 或之后的版本。