外部程序Edit框有字符限制,如何强制写入?
本帖最后由 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 不知你那里怎么了。我这里很正常 输入字符数达到3位,edit框就自动清空内容了
请问您是怎么测试的? IF StringLen (GUICtrlRead ($Input1))=3 Then
如果是针对楼主写的模仿代码
是输入字数等于3时就弹出出错提示
反过头来想
想办法不让检测到=3就不会弹出错误提示了
方法:
先输入随便两个字符--复制这两个字符--粘贴为四个字符
看看会出现什么情况? 本帖最后由 hyrl5190 于 2009-7-27 19:31 编辑
但程序只认3位字符!
超出3位程序便认为没有输入信息。
通过程序指定的方法输入则没有问题
但一用第三方程序来输入,程序则提示错误。 既然如此
那楼上为何还想着干这么无聊的事? 因为程序本身的输入方法较为繁琐
且无法通过脚本模拟
所以才想尝试是否有别的途径可以达到相同的效果
au3自带命令与UDF 我尝试过不少,均无法输入
所以才来求助,同时也谢谢你关注我的帖子,呵呵。 4楼的方法好啊...22 晕死...细看了下源码.才发现如果把=3改成>=3那么4楼的方法也就没有用了/``/` :face (14): 没搞清楚lz的意思。你是想输入多于3个字符呢,还是验证输入3个字符是否清空? 我想表达的意思很简单。。
就是如何我给出的源码一样,一旦输入字符数达到3位,就会被清空
我想知道 有没有哪条命令可以输入3位字符而不被清空的。。
给个思路也行 这与原设计有关,如果“字符=>3”就清空,我看没法实现输入3而不清空的。你是否发现源程序可以输入3个以上的字符而不被清空? 源程序通过指定的方法来输入字符,是不会被清空的
所以我才有此一问。
是否可以通过调用windows消息实现? 直接拷贝粘贴试试。也许有速度限制
页:
[1]
2