C#虚拟键盘实现 如何让窗口不获得焦点

虚拟按键比较简单 sendkeys 就可以了
但是如果点击就得到焦点,就无法在文本框中输入内容。
实现代码如下

protected override CreateParams CreateParams    //<--- {    get     {      const int WS_EX_NOACTIVATE = 0x08000000;      CreateParams cp = base.CreateParams;      cp.ExStyle |= WS_EX_NOACTIVATE;       return cp;      } }

其他几个关键点

sendkeys

每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用 “A” 作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用 “ABC” 作为 string。特殊符 加 (+)、插入符 (^)、百分比符 (%)、上划线 (~) 及圆括 ( ) 要将它放在大括 ({}) 当中。可用 {+} 表示。方括 ([ ]) 对 SendKeys 来说并不具有特殊意义,但必须将它们放在大括 中。

屏幕位置

private void Form1_Load(object sender, EventArgs e){   windowchange("中");  //这个区域不包括任务栏的 Rectangle ScreenArea = System.Windows.Forms.Screen.GetWorkingArea(this);  //这个区域包括任务栏,就是屏幕显示的物理范围 //   Rectangle ScreenArea = System.Windows.Forms.Screen.GetBounds(this); int width1 = ScreenArea.Width; //屏幕宽度   int height1 = ScreenArea.Height; //屏幕高度 this.Location = new Point(width1 - this.Width - 10, height1 - this.Height - 10);  this.TopMost = true;}

C#虚拟键盘实现 如何让窗口不获得焦点-AiTeYou

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月1日
下一篇 2021年10月1日

相关推荐