实例介绍
【实例简介】
【实例截图】
【核心代码】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
//Download by http://www.codefans.net
namespace SendKeys_Demo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
//输入字母
private void button1_Click(object sender, EventArgs e)
{
this.richTextBox1.Focus(); //首先获取文本的焦点
for (int i = 65; i < 91; i )
{
char ch = (char)i; //类型转换
SendKeys.Send(ch.ToString()); //向活动应用程序发送击键
System.Threading.Thread.Sleep(50);//当前线程挂起指定的时间
SendKeys.Flush();//将信息从基础缓冲区移动到其目标,或消除缓冲区,或同时执行两种操作。
}
}
//输入数字
private void button2_Click(object sender, EventArgs e)
{
this.richTextBox1.Focus(); //首先获取文本的焦点
for (int i = 0; i < 10; i )
{
SendKeys.Send(i.ToString()); //向活动应用程序发送击键
System.Threading.Thread.Sleep(50);//当前线程挂起指定的时间
SendKeys.Flush();//将信息从基础缓冲区移动到其目标,或消除缓冲区,或同时执行两种操作。
}
}
//输入汉字
private void button3_Click(object sender, EventArgs e)
{
this.richTextBox1.Focus(); //首先获取文本的焦点
System.Windows.Forms.SendKeys.Send("{LEFT}" "李大嘴");
}
private void button4_Click(object sender, EventArgs e)
{
//启动notepad.exe 记事本程序,并在d:\下创建 或 打开 text_test.txt文件
System.Diagnostics.Process txt = System.Diagnostics.Process.Start(@"notepad.exe", @"d:\text_test.txt");
txt.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
//等待一秒,以便目标程序notepad.exe输入状态就绪
txt.WaitForInputIdle(1000);
//如果目标程序 notepad.exe 没有停止响应,则继续
if (txt.Responding)
{
//开始写入内容
SendKeys.SendWait("-----下面的内容是外部程序自动写入-----\r\n");
SendKeys.SendWait("刘晶,我爱你!!!"); //将文本框内的内容写入
SendKeys.SendWait("{Enter}{Enter}"); //写入2个回车
SendKeys.SendWait("文档创建时间:");
SendKeys.SendWait("{F5}"); //发送F5按键
SendKeys.SendWait("{Enter}"); //发送回车键
SendKeys.SendWait("^s"); //发送 Ctrl s 键
SendKeys.SendWait("%{F4}"); // 发送 Alt F4 键
MessageBox.Show("文件已成功保存到C:\\text_test!");
}
}
}
}
/* 用法
1)为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用 "A" 作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用 "ABC" 作为 string。
2)对 SendKeys 来说,加号 、插入符^ 、百分号% 、上划线~ 及圆括号( ) 都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号{}当中。例如,要指定正号,可用 { } 表示。为了指定大括号字符,请使用 {{} 及 {}}。方括号 [ ] 对 SendKeys 来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换 (DDE) 的时候,它可能具有重要意义。
3)为了在按下按键时指定那些不显示的字符,例如 ENTER 或 TAB 以及那些表示动作而非字符的按键,请使用下列代码:
按键 代码
BACKSPACE {BACKSPACE}, {BS}或{BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} 或 {DEL}
ENTER {ENTER}或 ~
ESC {ESC}
NUM LOCK {NUMLOCK}
SCROLL LOCK {SCROLLLOCK}
UP ARROW {UP}
DOWN ARROW(下箭头) {DOWN}
LEFT ARROW {LEFT}
RIGHT ARROW {RIGHT}
END {END}
HOME {HOME}
INS or INSERT {INSERT} 或 {INS}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
WIN ^{ESC}
TAB {TAB}
HELP {HELP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
4)为了指定那些与 SHIFT、CTRL 及 ALT 等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:
键 代码
SHIFT
CTRL ^
ALT %
5)为了说明在按下其它按键时应同时按下 SHIFT、CTRL、及 ALT 的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下 E 与 C 的时候同时按下 SHIFT 键,请使用 " (EC)"。为了说明在按下 E 的时候同时按下 SHIFT 键,但接着按 C 而不按 SHIFT,则使用 " EC"。
6)为了指定重复键,使用 {key number} 的形式。必须在 key 与 number 之间放置一个空格。例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 键;{h 10} 则是指 10 次按下 H 键。注意 不能用 SendKeys 将按键消息发送到这样一个应用程序——这个应用程序并没有被设计成在 Microsoft Windows 中运行。
注意:Sendkeys 也无法将 PRINT SCREEN 按键发送到任何应用程序。*/
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论