易语言做一个自动输入文本的,而且每输入一个字就自动停顿一会的1
希望在编辑框1里面输入文本,单击按钮之后他就会自动在后台向一个文本框输入内容,每隔500毫秒输入一个字,求源码,谢谢...
希望在编辑框1里面输入文本,单击按钮之后他就会自动在后台向一个文本框输入内容,每隔500毫秒输入一个字,求源码,谢谢
展开
3个回答
展开全部
源码,看清注释,有些东西你没说清楚
.版本 2
.支持库 spec
.支持库 eAPI
.支持库 OPenGL
.程序集 窗口程序集_启动窗口
.程序集变量 临时文本, 文本型
.程序集变量 文本框句柄
.程序集变量 位置_局部
.子程序 _按钮1_被单击
' 你要输入的文本框句柄是什么?我使用了取鼠标所在窗口(也可取组件),使用时把鼠标移在文本框上,还有,一些文本框无句柄啊(例如全自绘)
延迟 (3000) ' 等你把鼠标移在文本框上3秒
位置_局部 = 0
文本框句柄 = 取鼠标所在窗口句柄 ()
临时文本 = 编辑框1.内容
时钟1.时钟周期 = 500
.子程序 取文本长度_, 整数型, , 支持Unicode
.参数 文本, 文本型
.局部变量 长度
.局部变量 计次
.判断循环首 (计次 ≤ 取文本长度 (文本))
计次 = 计次 + 1
.如果真 (是否为双字节字符 (文本, 计次 - 1) = 真)
计次 = 计次 + 1 ' 跳过下一个字符
.如果真结束
长度 = 长度 + 1
.判断循环尾 ()
返回 (长度 - 1)
.子程序 取文本中间_, 文本型, , 支持Unicode
.参数 文本, 文本型
.参数 起始位置
.参数 长度
.局部变量 计算中的长度
.局部变量 计次
.局部变量 返回值, 文本型
.判断循环首 (计次 ≤ 取文本长度 (文本))
计次 = 计次 + 1
.如果真 (计算中的长度 ≥ 起始位置)
返回值 = 返回值 + 取文本中间 (文本, 计次, 1)
.如果真结束
.如果真 (是否为双字节字符 (文本, 计次 - 1) = 真)
计次 = 计次 + 1 ' 跳过下一个字符
.如果真 (计算中的长度 ≥ 起始位置)
返回值 = 返回值 + 取文本中间 (文本, 计次, 1)
.如果真结束
.如果真结束
计算中的长度 = 计算中的长度 + 1
.如果真 (计算中的长度 = 长度 + 起始位置)
跳出循环 ()
.如果真结束
.判断循环尾 ()
返回 (返回值)
.子程序 _时钟1_周期事件
.局部变量 字符
.局部变量 临时字节集, 字节集
.局部变量 临时字节集2, 字节集
.如果 (取文本长度 (取文本中间_ (临时文本, 位置_局部, 1)) = 2)
临时字节集 = 到字节集 (取文本中间_ (临时文本, 位置_局部, 1))
临时字节集2 = 到字节集 (临时字节集 [2]) + 到字节集 (临时字节集 [1])
字符 = 取字节集数据 (临时字节集2, #整数型, )
.否则
字符 = 取字节集数据 (到字节集 (取文本中间_ (临时文本, 位置_局部, 1)), #整数型, )
.如果结束
发送消息_ (文本框句柄, 646, 字符, 0) ' 646为系统常量WM_IME_CHAR
.如果真 (位置_局部 = 取文本长度_ (临时文本) - 1)
时钟1.时钟周期 = 0
.如果真结束
位置_局部 = 位置_局部 + 1
------------------DLL分割线------------------
.版本 2
.DLL命令 发送消息_, 整数型, "user32", "SendMessageA", , , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息
.版本 2
.支持库 spec
.支持库 eAPI
.支持库 OPenGL
.程序集 窗口程序集_启动窗口
.程序集变量 临时文本, 文本型
.程序集变量 文本框句柄
.程序集变量 位置_局部
.子程序 _按钮1_被单击
' 你要输入的文本框句柄是什么?我使用了取鼠标所在窗口(也可取组件),使用时把鼠标移在文本框上,还有,一些文本框无句柄啊(例如全自绘)
延迟 (3000) ' 等你把鼠标移在文本框上3秒
位置_局部 = 0
文本框句柄 = 取鼠标所在窗口句柄 ()
临时文本 = 编辑框1.内容
时钟1.时钟周期 = 500
.子程序 取文本长度_, 整数型, , 支持Unicode
.参数 文本, 文本型
.局部变量 长度
.局部变量 计次
.判断循环首 (计次 ≤ 取文本长度 (文本))
计次 = 计次 + 1
.如果真 (是否为双字节字符 (文本, 计次 - 1) = 真)
计次 = 计次 + 1 ' 跳过下一个字符
.如果真结束
长度 = 长度 + 1
.判断循环尾 ()
返回 (长度 - 1)
.子程序 取文本中间_, 文本型, , 支持Unicode
.参数 文本, 文本型
.参数 起始位置
.参数 长度
.局部变量 计算中的长度
.局部变量 计次
.局部变量 返回值, 文本型
.判断循环首 (计次 ≤ 取文本长度 (文本))
计次 = 计次 + 1
.如果真 (计算中的长度 ≥ 起始位置)
返回值 = 返回值 + 取文本中间 (文本, 计次, 1)
.如果真结束
.如果真 (是否为双字节字符 (文本, 计次 - 1) = 真)
计次 = 计次 + 1 ' 跳过下一个字符
.如果真 (计算中的长度 ≥ 起始位置)
返回值 = 返回值 + 取文本中间 (文本, 计次, 1)
.如果真结束
.如果真结束
计算中的长度 = 计算中的长度 + 1
.如果真 (计算中的长度 = 长度 + 起始位置)
跳出循环 ()
.如果真结束
.判断循环尾 ()
返回 (返回值)
.子程序 _时钟1_周期事件
.局部变量 字符
.局部变量 临时字节集, 字节集
.局部变量 临时字节集2, 字节集
.如果 (取文本长度 (取文本中间_ (临时文本, 位置_局部, 1)) = 2)
临时字节集 = 到字节集 (取文本中间_ (临时文本, 位置_局部, 1))
临时字节集2 = 到字节集 (临时字节集 [2]) + 到字节集 (临时字节集 [1])
字符 = 取字节集数据 (临时字节集2, #整数型, )
.否则
字符 = 取字节集数据 (到字节集 (取文本中间_ (临时文本, 位置_局部, 1)), #整数型, )
.如果结束
发送消息_ (文本框句柄, 646, 字符, 0) ' 646为系统常量WM_IME_CHAR
.如果真 (位置_局部 = 取文本长度_ (临时文本) - 1)
时钟1.时钟周期 = 0
.如果真结束
位置_局部 = 位置_局部 + 1
------------------DLL分割线------------------
.版本 2
.DLL命令 发送消息_, 整数型, "user32", "SendMessageA", , , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息
更多追问追答
追问
我先试试,不管管不管用,先谢谢了
追答
按下按钮后赶快把鼠标移到要输入的文本框上(例如记事本),注释没说清楚
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询