找回密码
 加入
搜索
查看: 2664|回复: 19

外部程序Edit框有字符限制,如何强制写入?

[复制链接]
发表于 2009-7-24 12:21:39 | 显示全部楼层 |阅读模式
本帖最后由 hyrl5190 于 2009-7-29 22:38 编辑

如题
外部程序的Edit框限制了一旦输入字符达到3位,就会自动清空内容
并弹出错误信息。
我尝试了各种方法都无法写入3位字符而不弹出错误
盼各种高手帮忙看看

模拟外部程序Edit框代码如下。
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 258, 83)
$Input1 = GUICtrlCreateInput("", 32, 24, 177, 21)
GUISetState(@SW_SHOW)
While 1
IF StringLen (GUICtrlRead ($Input1))=3 Then
        GUICtrlSetData ($Input1,"")
        MsgBox (48,"错误","字符限制")
EndIf
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
发表于 2009-7-24 12:57:09 | 显示全部楼层
不知你那里怎么了。我这里很正常
 楼主| 发表于 2009-7-27 17:53:45 | 显示全部楼层
输入字符数达到3位,edit框就自动清空内容了
请问您是怎么测试的?
发表于 2009-7-27 19:19:26 | 显示全部楼层
IF StringLen (GUICtrlRead ($Input1))=3 Then

如果是针对楼主写的模仿代码
是输入字数等于3时就弹出出错提示
反过头来想
想办法不让检测到=3就不会弹出错误提示了

方法:
先输入随便两个字符--复制这两个字符--粘贴为四个字符
看看会出现什么情况?
 楼主| 发表于 2009-7-27 19:24:07 | 显示全部楼层
本帖最后由 hyrl5190 于 2009-7-27 19:31 编辑

但程序只认3位字符!
超出3位程序便认为没有输入信息。

通过程序指定的方法输入则没有问题

但一用第三方程序来输入,程序则提示错误。
发表于 2009-7-27 19:42:06 | 显示全部楼层
既然如此
那楼上为何还想着干这么无聊的事?
 楼主| 发表于 2009-7-27 20:01:15 | 显示全部楼层
因为程序本身的输入方法较为繁琐
且无法通过脚本模拟

所以才想尝试是否有别的途径可以达到相同的效果

au3自带命令与UDF 我尝试过不少,均无法输入
所以才来求助,同时也谢谢你关注我的帖子,呵呵。
发表于 2009-7-28 01:19:19 | 显示全部楼层
4楼的方法好啊...22
发表于 2009-7-28 01:23:56 | 显示全部楼层
晕死...细看了下源码.才发现如果把=3改成>=3那么4楼的方法也就没有用了/``/`
发表于 2009-7-29 11:20:09 | 显示全部楼层
发表于 2009-7-29 12:14:13 | 显示全部楼层
没搞清楚lz的意思。你是想输入多于3个字符呢,还是验证输入3个字符是否清空?
 楼主| 发表于 2009-7-29 14:09:10 | 显示全部楼层
我想表达的意思很简单。。
就是如何我给出的源码一样,一旦输入字符数达到3位,就会被清空
我想知道 有没有哪条命令可以输入3位字符而不被清空的。。
给个思路也行
发表于 2009-7-29 14:33:28 | 显示全部楼层
这与原设计有关,如果“字符=>3”就清空,我看没法实现输入3而不清空的。你是否发现源程序可以输入3个以上的字符而不被清空?
 楼主| 发表于 2009-7-29 14:40:47 | 显示全部楼层
源程序通过指定的方法来输入字符,是不会被清空的
所以我才有此一问。
是否可以通过调用windows消息实现?
发表于 2009-7-29 14:46:33 | 显示全部楼层
直接拷贝粘贴试试。也许有速度限制
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-2 10:38 , Processed in 0.077791 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表