Foxtable(狐表)用户栏目专家坐堂 → 键盘模拟连续输入


  共有2848人关注过本帖树形打印复制链接

主题:键盘模拟连续输入

帅哥哟,离线,有人找我吗?
weibu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5373 威望:0 精华:0 注册:2018/5/19 22:27:00
键盘模拟连续输入  发帖心情 Post By:2018/11/30 15:27:00 [只看该作者]

Dim r As Row = Tables("表A").Rows(0)
Dim t As String = e.Form.Controls("TextBox1").Text
SetCursorPos (r("x"), r("y")) '鼠标位置
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) '点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
Sendkeys.Send("I Like Foxtable") '发送按键信息
这段代码我放到按钮CLICK事件中,只是第一次可以模拟输入成功。后面连续点击按钮仅光标过去,但不再模拟键盘输入了;
必须重新启动狐表才可以,但仅是第一次

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/30 16:02:00 [只看该作者]

 

具体实例发上来测试。说明如何测试。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5373 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2018/11/30 17:06:00 [只看该作者]

老师图片是操作说明;按1.2.3.4步骤;

想达到的目的是,在狐表文本框输入值点击ENTER;文本框的值会发送到第三方软件文本输入框并触发ENTER键。

最后光标回到狐表的文本框;

问题:

1.文本框值发送不出去,更不能连续发送;

2.  固定值可发送,但点击第二次按钮后,就没反应了

3.发送值到第三方软件后,一定要触发ENTER


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

狐表实例:获取坐标的已经搞定,模拟值我做了两个按钮测试,您看下

 
 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:text.rar

[此贴子已经被作者于2018/11/30 17:07:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/30 18:13:00 [只看该作者]

1、textbox的valuechanged事件代码删除;

 

2、按钮代码改成这样,我测试没问题

 

Dim r As Row = Tables("表A").Rows(0)
Dim t As String = e.Form.Controls("TextBox1").Text
SetCursorPos (r("x"), r("y")) '鼠标位置
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) '点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
Sendkeys.Sendwait(t & vbcrlf)                     '如何发送信息后触发enter键

 

3、你测试代码请认真一点啊。


 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5373 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2018/11/30 19:17:00 [只看该作者]

好的,老师,感谢感谢

 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5373 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2018/11/30 19:21:00 [只看该作者]

老师外部写入完成后,光标再回到狐表文本框的代码没问题吧
老师你点击两次按钮会输入两行数字吗?我的还是就只能输入第一次
[此贴子已经被作者于2018/11/30 19:25:28编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112425 积分:572399 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/30 20:29:00 [只看该作者]

Dim r As Row = Tables("表A").Rows(0)
Dim t As String = e.Form.Controls("TextBox1").Text
SetCursorPos (r("x"), r("y")) '鼠标位置
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) '点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
Sendkeys.Sendwait(t & vbcrlf)                     '如何发送信息后触发enter键
Dim w As Row = Tables("表A").Rows(1)
SetCursorPos (w("x"), w("y")) '鼠标位置
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) '点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
e.Form.Controls("TextBox1").value = Nothing
e.Form.Controls("textbox1").Select()

 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5373 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2018/11/30 20:41:00 [只看该作者]

老师按钮可以了,能发在Sendkeys.Sendwait(t & vbcrlf)   加个等待300毫秒再执行下面的代码。
 同样上面的代码为什么放在文本框的valuechanged就不执行;我到文本框输入数字并按回车键,不执行或执行没成功

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112425 积分:572399 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/30 20:54:00 [只看该作者]

……
Sendkeys.Sendwait(t & vbcrlf)  
System.Threading.Thread.Sleep(300)
Dim w As Row = Tables("表A").Rows(1)
……

 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5373 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2018/11/30 21:09:00 [只看该作者]

蓝老师,有两个问题:
1.同样的代码为什么放在狐表文本框的valuechanged就不执行?
2.模拟键盘输入多次测试会发现,有时第一位数字会重复或丢失,如何解决?
[此贴子已经被作者于2018/11/30 21:50:43编辑过]

 回到顶部
总数 17 1 2 下一页