我们这里要使用WinForm来实现一个类似系统的辅助工具里的屏幕键盘!
大体思路是这样的:
按键可以使用SendKeys.Send()方法来模拟,主要的难点是输入焦点的处理!
默认情况下,如果你点击屏幕键盘上的按钮,则你的窗体会获得输入焦点,你要输入文字的那个窗体会失去输入焦点,这样也就没有办法输入文字了!
对于这个问题,我们可以通过重写窗体的CreateParams属性,把窗体的扩展样式设置成WS_EX_NOACTIVATE,这样按下窗体上的按钮的时候就不会获得输入焦点了,具体事例代码如下:

    public partial class Form1 : Form    {protected override CreateParams CreateParams        {get            {                CreateParams cp = base.CreateParams;                cp.ExStyle |= (int)0x08000000L;      //把窗体设置成WS_EX_NOACTIVATE样式                 return cp;            }        }public Form1()        {this.TopMost = true;            InitializeComponent();        }

private void button1_Click(object sender, EventArgs e)        {            SendKeys.Send("A");        }    }

转载于:https://www.cnblogs.com/xuefeng1982/archive/2009/09/13/1565892.html

用C#实现屏幕键盘!相关推荐

  1. Win7屏幕键盘 在哪 使用

    看微博玩Win7 学用Win7屏幕键盘 2012-03-20 10:07 来源:天极网软件频道 作者:Shiny 责任编辑:杨玲·yesky 评论(1) 小勇最近买了一台预装Win7系统的电脑,除了经 ...

  2. win7系统怎么打开屏幕键盘

    win7系统怎么打开屏幕键盘?我们在电脑没有接入键盘或者键盘失灵等情况下,如果想要输入内容,可以使用系统自带的屏幕键盘.只需要在控制面板中打开屏幕键盘就可以使用了,下面就让我们一起看看win7系统屏幕 ...

  3. win7系统屏幕键盘打开教程

    我们在电脑没有接入键盘或者键盘失灵等情况下,如果想要输入内容,可以使用系统自带的屏幕键盘.只需要在控制面板中打开屏幕键盘就可以使用了,下面就让我们一起看看win7系统屏幕键盘打开教程吧. 1.首先点击 ...

  4. windows10中屏幕键盘 vs 触摸键盘

    最近的测试任务有接触到软键盘的概念.主要是在windows系统下,软键盘又分为屏幕键盘和触摸键盘.下面来看一下这两种键盘的相同点和不同点. 在测试触控大屏设备时,因为没有外接键盘,所以系统自带的触控键 ...

  5. 如何防止盗号 使用windows自带的 屏幕键盘 OSK

    打开运行  输入 OSK 回车,即可打开系统自带的屏幕键盘. 使用这种方式输入密码,可以有效防止键盘记录.

  6. WIN7 启动屏幕键盘

    点击"开始"或按快捷键"WIN",输入"osk"后,按"回车键"确定,就可以启动屏幕键盘. 屏幕键盘 另一种方法是进入& ...

  7. C#实现屏幕键盘(软键盘 ScreenKeyboard)

    要实现一个屏幕键盘,需要监听所有键盘事件,无论窗体是否被激活.因此需要一个全局的钩子,也就 是系统范围的钩子. 什么是钩子(Hook) 钩子(Hook)是Windows提供的一种消息处理机制平台,是指 ...

  8. 服务器屏幕键盘在哪个文件夹,远程服务器如何启动屏幕键盘

    远程服务器如何启动屏幕键盘 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 云堡 ...

  9. 屏幕键盘开启占用COM1的问题?

    问: 我的电脑辅助工具里的屏幕键盘开启后另一个要用到COM1的软件就报错不能找到端口,不开屏幕键盘就没事,,因为电脑只有一个COM口也无法装扩展卡,所以请高手出招了,,或者推荐另一款不占用COM口的屏 ...

最新文章

  1. 第二期直播《相机标定的基本原理与经验分享》精彩回录
  2. python range()内建函数
  3. java前沿技术_Java语言就业前景如何?这4个就业方向都很吃香
  4. 2017-2018-2 20179202《网络攻防技术》第一周作业
  5. oracle 删除补全日志组_浅谈Oracle 20c ASM文件组模板技术
  6. 工作中常用的kafka命令
  7. 小程序----面试题总结
  8. 在windows下,编译可访问https的libcurl静态库过程
  9. 史上最全java架构师技能图谱(下)
  10. cortex_m0架构(顶层AHB_Lite接口)
  11. squid 的配置详解 (转)--SeriesIII
  12. String、StringBuffer 、StringBuilder 的区别(转)
  13. 怎么把英文字幕翻译成中文?快把这些方法收好
  14. oracle hot patch david,Hotpatch文件介绍
  15. 记录每天学习的新知识:LiveData
  16. 电脑桌面变成了计算机,电脑屏幕黄怎么调整_电脑屏幕突然变黄如何恢复
  17. SCSI 中定义的provision
  18. 知乎,成也社区难也社区
  19. CNN经典分类网络发展历程GoogLeNet、SqueezeNet、ResNet、ResNeXt、DenseNet
  20. win7 中使用NFS共享

热门文章

  1. 家里的穿墙的网线不好用了,想换一根,换不了,不走明线有什么好办法?
  2. Properties集合
  3. 为SQL Server Always On可用性组配置故障转移群集,存储控制器和仲裁配置
  4. SQL Server Integration Services(SSIS)中的脚本任务调试
  5. python爬虫案例-乌托家家具公司数据爬取
  6. python中filter(),reduce()函数
  7. ubuntu 中文设置
  8. BZOJ 3668: [Noi2014]起床困难综合症【二进制+贪心】
  9. 9-n个人中选k个人的选择方法种类
  10. TypeScript学习笔记(五) - 泛型