C# 发送消息SendKeys、SendMessage、keybd_event的用法
来源:互联网 发布:2015最新网络神曲 编辑:程序博客网 时间:2024/04/29 20:00
一、C#中SendKeys的用法
功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。
语法: SendKeys.Send(string keys);
SendKeys.SendWait(string keys);
说明:
(1)发送字符串
SendKeys.SendWait("A"); //发送字母A
SendKeys.SendWait("ABC"); //发送字符串ABC
SendKeys.SendWait("输入汉字"); //发送输入汉字
(2)模拟发送+、^、%、~及圆括号 ( ) ,要将它放在大括号 ({}) 当中。
SendKeys.SendWait("{+}"); //发送加号
(3)模拟发送那些不显示的字符,也要将它放在大括号 ({}) 当中。
SendKeys.SendWait("{Enter}"); //发送回车
SendKeys.SendWait("{TAB}"); //发送TAB
SenKeys.SendWait("{END}"); //发送END
SenKeys.SendWait("{F5}"); //发送F5
(4)模拟发送 SHIFT、CTRL 及 ALT 等按键结合的组合键:
按键代码Shift+Ctrl^Alt% SenKeys.SendWait("^c"); //发送Ctrl+C ,必须是小写!C#区分大小写的,下同SendKeys.SendWait("v"); //发送Ctrl+v
SendKeys.SendWait("{A 10}"); //模拟10次按下字母A
二、C#中Keybd_event的用法
语法:
[DllImport("user32.dll",EntryPoint="keybd_event",SetLastError=true)]
public static extern void keybd_event(byte bVk,byte bScan,int dwFlags,int dwExtraInfo);
从上述原型可以看出,Keybd_event()共有四个参数:
第一个为按键的虚拟键值,建议统一用(byte)Keys.*形式,便于记忆
例如:A (byte)Keys.A,Tab (byte)Keys.Tab
第二个参数为扫描码,一般不用设置,用0代替就行;
第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP" 或是 "0x2"或是2,建议用0按下、2弹起简单;
第四个参数一般也是置0即可。
keybd_event((byte)Keys.A,0,0,0); //按下A
keybd_event((byte)Keys.A,0,2,0); //弹起A
keybd_event((byte)Keys.Enter,0,0,0); //模拟按下回车
//模拟Ctrl+V:
//keybd_event((byte)Keys.ControlKey,0,0,0);//按下
//keybd_event((byte)Keys.V,0,0,0);//按下
//keybd_event((byte)Keys.V,0,2,0);//弹起
//keybd_event((byte)Keys.ControlKey,0,2,0);//弹起
- C# 发送消息SendKeys、SendMessage、keybd_event的用法
- C#中的SendKeys发送按键消息
- keybd_event跟SendMessage,PostMessage模拟键盘消息的区别
- 应用程序间发送消息 c# SendMessage WM_COPYDATA
- C#调用WinAPI发送消息SendMessage
- SendMessage消息参数的用法
- C#中keybd_event 用法
- C#中keybd_event 用法
- C# SendKeys用法
- VC/Win32 消息的发送 SendMessage/PostMessage
- sendmessage 发送消息
- SendMessage()发送消息
- c#通过SendMessage发送消息,改变其他程序的下拉框控件(ComboBox)的值
- keybd_event/mouse_event和SendMessage/PostMessage的区别
- keybd_event/mouse_event和SendMessage/PostMessage的区别 .
- MFC中SendMessage和PostMessage两种发送消息用法
- c# 使用SendMessage向另一进程发送WM_COPYDATA消息通信
- c#通过SendMessage(Win API)发送消息
- 吴桐的新博客
- 这Hadoop分布式文件系统
- GET vs. POST
- libzplay简单的播放音频例子
- 2014——我的求职之路(四)
- C# 发送消息SendKeys、SendMessage、keybd_event的用法
- 工厂模式浅谈
- Openstack中RabbitMQ RPC代码分析
- 在java里拼接JSON
- LDA 隐含主题模型学习
- Cryptopp使用
- 这算是学程序以来第一篇博文吧
- leetcode Palindrome Number
- Amazon RDS的通用型存储(SSD)