c#sendKeys.send问题

方然大数据 2016-11-28 04:54:59
在c#窗体中用sendKeys.send()代替键盘敲出一行数字,为什么第一个数字总会出现两次?
如:
thread.sleep(2000);
sendKeys.send(“123456”);
鼠标定位在记事本中,会敲出“1123456”,请问各位大神这是什么原因导致的?怎么样才能解决呢?
谢谢!
...全文
450 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 fujumove 的回复:
[quote=引用 1 楼 lyq8376 的回复:] sendKeys这个变量在哪定义的?
在一个button下,点击button后延时1秒运行这句,结果首字符就打2次,其他的都能正常打出来[/quote]贴下button的代码,问题应该出自映射到txt文件的步骤上
方然大数据 2016-11-28
  • 打赏
  • 举报
回复
引用 1 楼 lyq8376 的回复:
sendKeys这个变量在哪定义的?
在一个button下,点击button后延时1秒运行这句,结果首字符就打2次,其他的都能正常打出来
方然大数据 2016-11-28
  • 打赏
  • 举报
回复
在一个button下,点击button后延时1秒运行这句,结果首字符就打2次,其他的都能正常打出来
  • 打赏
  • 举报
回复
sendKeys这个变量在哪定义的?
下载代码方式:https://pan.quark.cn/s/1e9a2a562750 在软件开发领域,存在某些情形需要我们复制用户的键击动作,诸如执行自动化测试、运行脚本程序或进行用户界面自动操作等情形。在.NET平台中,C#语言内置了SendKeys类用以达成此类功能。该类使得我们能够向当前激活的视窗发送键击信号,仿佛真人正在操作键盘。接下来,我们将详细解析C#语言中的SendKeys类以及其应用技巧。`SendKeys`类存放在`System.Windows.Forms`命名空间里,因此在运用它之前必须导入此命名空间。你可以借助以下代码行来引入:```csharpusing System.Windows.Forms;````SendKeys`类设定了一个静态方法`SendWait`,此方法用于派发键击信号并等待应用程序完成对这些信号的响应处理。该方法具备异步特性,即发送键击之后,程序会暂时中止,直至所有按键均被处理完毕。这种机制通常是我们期望的行为,因为我们务必确认模拟的键击输入能够被准确接收。下面提供一个基础的`SendKeys`范例,用以模拟用户输入"Hello, World!":```csharpusing System;using System.Windows.Forms;class Program { static void Main() { // 将焦点设置至需要输入的界面,比如当前活跃的窗口 Application.Run(new Form()); // 发送模拟的键击操作 SendKeys.SendWait("Hello, World!"); }}```在此例中,`SendWait`方法接收一个字符串参数,该参数由按键字符构成,例如"A",...

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧