1.System.Windows.Forms.SendKeys

组合键:Ctrl = ^ 、Shift = + 、Alt = %

模拟按键:A

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

SendKeys.Send("{A}");

}

模拟组合键:CTRL + A

private void button1_Click(object sender, EventArgs e)

{

webBrowser1.Focus();

SendKeys.Send("^{A}");

}

SendKeys.Send // 异步模拟按键(不阻塞UI)

SendKeys.SendWait // 同步模拟按键(会阻塞UI直到对方处理完消息后返回)

//这种方式适用于WinForm程序,在Console程序以及WPF程序中不适用

2.keybd_event

DLL引用

[DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]

public static extern void keybd_event(Keys bVk, byte bScan, uint dwFlags, uint dwExtraInfo);

模拟按键:A

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

keybd_event(Keys.A, 0, 0, 0);

}

模拟组合键:CTRL + A

public const int KEYEVENTF_KEYUP = 2;

private void button1_Click(object sender, EventArgs e)

{

webBrowser1.Focus();

keybd_event(Keys.ControlKey, 0, 0, 0);

keybd_event(Keys.A, 0, 0, 0);

keybd_event(Keys.ControlKey, 0, KEYEVENTF_KEYUP, 0);

}

3.PostMessage

上面两种方式都是全局范围呢,现在介绍如何对单个窗口进行模拟按键

模拟按键:A / 两次

[DllImport("user32.dll", EntryPoint = "PostMessageA", SetLastError = true)]

public static extern int PostMessage(IntPtr hWnd, int Msg, Keys wParam, int lParam);

public const int WM_CHAR = 256;

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

PostMessage(textBox1.Handle, 256, Keys.A, 2);

}

模拟组合键:CTRL + A

如下方式可能会失效,所以最好采用上述两种方式1

public const int WM_KEYDOWN = 256;

public const int WM_KEYUP = 257;

private void button1_Click(object sender, EventArgs e)

{

webBrowser1.Focus();

keybd_event(Keys.ControlKey, 0, 0, 0);

keybd_event(Keys.A, 0, 0, 0);

PostMessage(webBrowser1.Handle, WM_KEYDOWN, Keys.A, 0);

keybd_event(Keys.ControlKey, 0, KEYEVENTF_KEYUP, 0);

}

c#语言模拟键盘输入,C#模拟键盘按键的三种方式实现相关推荐

  1. Android App监听软键盘按键的三种方式与改变软键盘右下角确定键样式

    Android App监听软键盘按键的三种方式与改变软键盘右下角确定键样式 actionNone : 回车键,按下后光标到下一行 actionGo : Go, actionSearch : 放大镜 a ...

  2. 计算机键盘输入错乱,win10电脑键盘错乱的三种解决方法

    近期,看到许多小伙伴抱怨说win10电脑更新后键盘错乱了,平时聊天.玩游戏都会用到键盘,键盘错乱严重影响使用体验,有什么办法解决呢?其实可以试试更新驱动,或者杀毒一下,下面一起来看看具体的三种解决方法 ...

  3. Android App监听软键盘按键的三种方式(转)

    最近有类似需求,在csdn上刚好发现,粘贴过来,以防止忘记喽 前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的&quo ...

  4. Android App监听软键盘按键的三种方式

    前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的"GO"按键加载url页面:在点击搜索框的时候,点 ...

  5. 键盘-App监听软键盘按键的三种方式

    前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的"GO"按键加载url页面:在点击搜索框的时候,点 ...

  6. Android 监听软键盘按键的三种方式

    前言: 我们在Android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的"Go"按键加载url页面:在点击搜索框的时候,点 ...

  7. Android App监听软键盘按键的三种方式 以及 输入法删除退格键的冲突问题解决

    输入法删除退格键的冲突问题解决 /***返回键处理 */@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if( even ...

  8. 格式化输入数字_Python格式化输出的三种方式

    一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age is xxx. 很明显,用逗号进 ...

  9. html语言闪烁特效代码,css3 实现文字闪烁效果的三种方式示例代码

    1.通过改变透明度来实现文字的渐变闪烁,效果图: 文字闪烁 星星之火可以燎原 .myclass{ letter-spacing:5px;/*字间距*/ color: red; font-weight: ...

  10. 计算机键盘能直接接手机吗,手机变成电脑!将键盘和鼠标连接到智能手机的3种方式...

    尽管智能手机很方便,但在触摸屏上打字时,屏幕太小,键盘也很小,无法避免打字错误和打字效率低下的问题. 您是否曾经想过使用计算机的键盘和鼠标在手机上打字并上网? 随着科学技术的发展,越来越多的想象成为现 ...

最新文章

  1. 特权级——保护模式的特权级检查 DPL,RPL,CPL, 一致代码段,非一致代码段
  2. 【javascript基础】8、闭包
  3. 字符串操作以及打印 —— 实现上传下载的进度条功能
  4. 粒子网格算法 pm_使粒子网格与Blynk一起使用的2种最佳方法
  5. Spring boot :使用 Swagger 2 构建 RESTful APIs
  6. drools规则引擎 java_Drools规则引擎的使用总结
  7. 小程序调用豆瓣公开接口解决办法
  8. Reversing Encryption(Reverse函数的应用)
  9. java线程期末考试_mooc课程 java 期末考试试卷
  10. 一气呵成:用Compose完美复刻Flappy Bird!
  11. Win10 系统设置共享文件
  12. 航班信息的查询与检索Java,航班信息的查询与检索
  13. 山西工商学院计算机二级网址,2021年山西工商学院教务处登录入口
  14. CSR8670学习笔记:OTA升级固件
  15. 车载显示屏申请E-mark认证需要测试些什么?
  16. Kubernetes pod 状态出现 ImagePullBackOff 的原因
  17. AndroidStudio layout Inspector工具无法连接真机
  18. oracle之查询某一列是否含有英文字符
  19. 推荐系统:最大边缘相关多样性算法(MMR)(python实现)
  20. 渗透技巧——程序的降权启动

热门文章

  1. Windows 取证
  2. 让程序员崩溃的瞬间(非程序员勿入)
  3. 由内而外全面造就自己(七)
  4. Cannot uninstall ‘llvmlite‘. It is a distutils installed project and thus we cannot accurately deter
  5. 外键的约束(Mysql、PostgreSQL)
  6. 用Tableau制作10种漂亮的饼图
  7. AVFrame的数据填充方式
  8. 支付宝小程序对接错误
  9. stream流倒序排序_Stream流排序
  10. Sigfox的物联网生意经:弱水三千只取一瓢饮