使用SendKeys将键击和组合键击发送到活动应用程序。此类无法实例化。
若要发送一个键击给某个类并立即继续程序流,请使用Send。
若要等待键击启动的任何进程,请使用SendWait。
1.每个键都由一个或多个字符表示。若要指定单个键盘字符,请使用该字符本身。
例如,若要表示字母 A,请将字符串“A”传递给方法。
若要表示多个字符,请将各个附加字符追加到它之前的字符的后面。
若要表示字母A、B和C,请将参数指定为“ABC”。
2.加号(+)、插入符号(^)、百分号(%)、波浪号(~)以及圆括号() 对 SendKeys 具有特殊含义。若要指定这些字符中的某个字符,请将其放在大括号 ({}) 内。
例如,若要指定加号,请使用“{+}”。
若要指定大括号字符,请使用“{{}”和“{}}”。
中括号([ ])对 SendKeys 没有特殊含义,但必须将它们放在大括号内。在其他应用程序中,中括号具有特殊含义,此含义可能会在发生动态数据交换(DDE)时起重要作用。
3.若要指定在按键(如ENTER或TAB)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码:
键 代码
BACKSPACE {BACKSPACE}、{BS}
或 {BKSP}
BREAK
{BREAK}
CAPS
LOCK {CAPSLOCK}
DEL 或 DELETE
{DELETE} 或 {DEL}
DOWN ARROW(下箭头键)
{DOWN}
END
{END}
ENTER
{ENTER} 或 ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS 或 INSERT
{INSERT} 或 {INS}
LEFT ARROW(左箭头键)
{LEFT}
NUM LOCK
{NUMLOCK}
PAGE
DOWN {PGDN}
PAGE
UP {PGUP}
PRINT
SCREEN {PRTSC}(保留供将来使用)
RIGHT ARROW(右箭头键)
{RIGHT}
SCROLL
LOCK {SCROLLLOCK}
TAB {TAB}
UP
ARROW(上箭头键) {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}
4.若要指定与SHIFT、CTRL和ALT键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。
键 代码
SHIFT +
CTRL ^
ALT
%
若要指定在按一些键时应同时按住SHIFT、CTRL和ALT键的任意组合,请将这些键的代码放在括号内。例如,若要指定按E和C时同时按住SHIFT
键,请使用“+(EC)”。若要指定按E时应按住SHIFT,之后按C时不按住 SHIFT,请使用“+EC”。
4.要指定重复的键,请使用 {键数字} 的形式。键和数字之间必须放一空格。
例如,{LEFT 42} 表示按左箭头键 42 次;{h 10} 表示按H 10次。
后添:
1、SendKeys.Send("4");
SendKeys.Send(Keys.NumPad4); //只发送的键盘上面的数字键4,而不是小键盘的4
2、sendkeys.send()输入中文
先把内容复制到(系统的)剪贴板,再从剪贴板复制出来。
根据这一原理,编码的思路就清晰了:
对剪贴板进行操作,把字符串复制到剪贴板(比发送“CTRL+C”方便)
焦点定位到输入框
发送“CTRL+V”
Vb.Net |
'^c+^v实现中文的输入 Dim s As String="hello, 我是中文字符串" Clipboard.SetText(s) '将字符串复制到剪贴板,相当于^c textBox1.Focus() '定位焦点 SendKeys.SendWait("^v") 'CTRL+V,粘贴 |
C# |
//^c+^v实现中文的输入 string s="hello, 我是中文字符串"; Clipboard.SetText(s); // 将字符串复制到剪贴板,相当于^c textBox1.Focus(); // 定位焦点 SendKeys.SendWait("^v"); // CTRL+V,粘贴 |
下面我们可以利用发送快捷键的方式来实现批量给QQ好友发送剪贴板中的信息。
Vb.Net |
|
C# |
|