SendKeys如何发送组合键?

复制 保存
SendKeys.Send("^+{TAB}");
使用SendKeys将键击和组合键击发送到活动应用程序。此类无法实例化。若要发送一个键击给某个类并立即继续程序流,请使用Send。若要等待键击启动的任何进程,请使用SendWait。 

每个键都由一个或多个字符表示。若要指定单个键盘字符,请使用该字符本身。例如,若要表示字母A,请将字符串“A”传递给方法。若要表示多个字符,请将各个附加字符追加到它之前的字符的后面。若要表示字母A、B和C,请将参数指定为“ABC”。 

加号(+)、插入符号(^)、百分号(%)、波浪号(~)以及圆括号()对SendKeys具有特殊含义。若要指定这些字符中的某个字符,请将其放在大括号({})内。例如,若要指定加号,请使用“{+}”。若要指定大括号字符,请使用“{{}”和“{}}”。中括号([])对SendKeys没有特殊含义,但必须将它们放在大括号内。在其他应用程序中,中括号具有特殊含义,此含义可能会在发生动态数据交换(DDE)时起重要作用。 

若要指定在按键(如ENTER或TAB)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码: 
复制 保存
键代码 
BACKSPACE{BACKSPACE}、{BS}或{BKSP} 
BREAK{BREAK} 
CAPSLOCK{CAPSLOCK} 
DEL或DELETE{DELETE}或{DEL} 
DOWNARROW(下箭头键){DOWN} 
END{END} 
ENTER{ENTER}或~ 
ESC{ESC} 
HELP{HELP} 
HOME{HOME} 
INS或INSERT{INSERT}或{INS} 
LEFTARROW(左箭头键){LEFT} 
NUMLOCK{NUMLOCK} 
PAGEDOWN{PGDN} 
PAGEUP{PGUP} 
PRINTSCREEN{PRTSC}(保留供将来使用) 
RIGHTARROW(右箭头键){RIGHT} 
SCROLLLOCK{SCROLLLOCK} 
TAB{TAB} 
UPARROW(上箭头键){UP} 
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} 
数字键盘加号{ADD} 
数字键盘减号{SUBTRACT} 
数字键盘乘号{MULTIPLY} 
数字键盘除号{DIVIDE}


若要指定与SHIFT、CTRL和ALT键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。 
复制 保存
键代码 
SHIFT+ 
CTRL^ 
ALT%

若要指定在按一些键时应同时按住SHIFT、CTRL和ALT键的任意组合,请将这些键的代码放在括号内。例如,若要指定按E和C时同时按住SHIFT键,请使用“+(EC)”。若要指定按E时应按住SHIFT,之后按C时不按住SHIFT,请使用“+EC”。 

要指定重复的键,请使用{键数字}的形式。键和数字之间必须放一空格。例如,{LEFT42}表示按左箭头键42次;{h10}表示按H10次。 

注意:因为没有可用来激活另一个应用程序的托管方法,所以可以在当前应用程序中使用此类,或使用本机Windows方法(如FindWindow和SetForegroundWindow)来强制聚焦到其他应用程序上
原文地址:https://www.cnblogs.com/xiaoL/p/2079481.html