以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 键盘模拟连续输入 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128183) |
||||
-- 作者:weibu -- 发布时间: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事件中,只是第一次可以模拟输入成功。后面连续点击按钮仅光标过去,但不再模拟键盘输入了; 必须重新启动狐表才可以,但仅是第一次
|
||||
-- 作者:有点甜 -- 发布时间:2018/11/30 16:02:00 --
具体实例发上来测试。说明如何测试。
|
||||
-- 作者:weibu -- 发布时间:2018/11/30 17:06:00 -- 老师图片是操作说明;按1.2.3.4步骤; 想达到的目的是,在狐表文本框输入值点击ENTER;文本框的值会发送到第三方软件文本输入框并触发ENTER键。 最后光标回到狐表的文本框; 问题: 1.文本框值发送不出去,更不能连续发送; 2. 固定值可发送,但点击第二次按钮后,就没反应了 3.发送值到第三方软件后,一定要触发ENTER 狐表实例:获取坐标的已经搞定,模拟值我做了两个按钮测试,您看下
[此贴子已经被作者于2018/11/30 17:07:44编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/11/30 18:13:00 -- 1、textbox的valuechanged事件代码删除;
2、按钮代码改成这样,我测试没问题
Dim r As Row = Tables("表A").Rows(0)
3、你测试代码请认真一点啊。 |
||||
-- 作者:weibu -- 发布时间:2018/11/30 19:17:00 -- 好的,老师,感谢感谢 |
||||
-- 作者:weibu -- 发布时间:2018/11/30 19:21:00 -- 老师外部写入完成后,光标再回到狐表文本框的代码没问题吧 老师你点击两次按钮会输入两行数字吗?我的还是就只能输入第一次
[此贴子已经被作者于2018/11/30 19:25:28编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2018/11/30 20:41:00 -- 老师按钮可以了,能发在Sendkeys.Sendwait(t & vbcrlf) 加个等待300毫秒再执行下面的代码。 同样上面的代码为什么放在文本框的valuechanged就不执行;我到文本框输入数字并按回车键,不执行或执行没成功
|
||||
-- 作者:有点蓝 -- 发布时间:2018/11/30 20:54:00 -- …… Sendkeys.Sendwait(t & vbcrlf) System.Threading.Thread.Sleep(300) Dim w As Row = Tables("表A").Rows(1) ……
|
||||
-- 作者:weibu -- 发布时间:2018/11/30 21:09:00 -- 蓝老师,有两个问题: 1.同样的代码为什么放在狐表文本框的valuechanged就不执行? 2.模拟键盘输入多次测试会发现,有时第一位数字会重复或丢失,如何解决?
[此贴子已经被作者于2018/11/30 21:50:43编辑过]
|