找回密码
 加入
搜索
楼主: 老榆头

用JS弹出的对话框内的控件,如何设置文本

 火.. [复制链接]
 楼主| 发表于 2009-11-26 15:05:21 | 显示全部楼层
本帖最后由 老榆头 于 2009-11-26 15:27 编辑

不好意思,刚才出去了一下,现在回来了



我的也是xp sp3

使用后面那个带有”测试文本“的脚本,文字是有的
但一换回原来那个,就不行
而且a.exe结束之后也不能自动关闭
发表于 2009-11-26 15:40:20 | 显示全部楼层
没执行完,不会关闭
Dim $a = 1, $bt = "选择要加载的文件"
If $CmdLine[0] = 1 Then
        AdlibRegister('sr')
        While $a = 1
                Sleep(50)
        WEnd
EndIf
Func sr()
        If WinActive($bt) Then
                ControlSetText($bt, "", "Edit1", $CmdLine[1])
                ControlClick($bt, "", "Button1")
                $a = 0
        EndIf
EndFunc   ;==>sr
 楼主| 发表于 2009-11-26 16:32:23 | 显示全部楼层
afan好友,还不可以
对话框弹出后,就停在哪里,文件名位置也没有内容出现
网页上的那个文本框内也没有内容

不好意思,给你添麻烦了,再次感谢
发表于 2009-11-26 17:44:09 | 显示全部楼层
本帖最后由 afan 于 2009-11-26 17:45 编辑

回复 33# 老榆头

这样吧,咱们一步步来
1,新建个文件 c:\test\1.txt
2,将以下代码编译为 a.exe
AdlibRegister('sr')
Dim $a = 1, $bt = "选择要加载的文件"
While $a = 1
        Sleep(50)
WEnd

Func sr()
        If WinActive($bt) Then
                ControlSetText($bt, "", "Edit1", 'c:\test\1.txt')
                ControlClick($bt, "", "Button1")
                $a = 0
        EndIf
EndFunc   ;==>sr
3,运行“a.exe”
4,打开网页
5,点击浏览

此时什么状况?是否达到预期的效果,且a.exe已退出?还是停留在哪一步?
 楼主| 发表于 2009-11-27 21:32:39 | 显示全部楼层
本帖最后由 老榆头 于 2009-11-27 21:33 编辑

耶,可以了
谢谢afan好友帮忙解决了问题,更要感谢的是afan好友的不厌其烦
问题得以解决,感谢

前面的代码不成功原因主要是我将afan给的代码直接拿过来用,而没有仔细看其中的控件名称
结果最后一个控件名称实际上应该为Button2

最后成功的代码如下
Dim $a = 1, $bt = "选择要加载的文件"
If $CmdLine[0] = 1 Then
                AdlibRegister('sr')

        While $a = 1
                Sleep(50)
        WEnd
EndIf
Func sr()
        If WinActive($bt) Then
                ControlSetText($bt, "", "Edit1", $CmdLine[1])
                ControlClick($bt, "", "Button2")
                $a = 0
        EndIf
EndFunc   ;==>sr
再次感谢afan好友

评分

参与人数 1金钱 +20 收起 理由
afan + 20 解决了就好,恭喜你解决了多日的烦恼

查看全部评分

 楼主| 发表于 2009-11-27 21:46:45 | 显示全部楼层
难以掩饰问题解决之后的激动心情
谢谢afan

这是我第一次还知道有$CmdLine这个的用法
谢谢
发表于 2009-11-27 21:49:59 | 显示全部楼层
回复 36# 老榆头


    不用客气,能帮你解决问题就好~! 我理解那种解决不了问题而煎熬的感觉,呵呵~
发表于 2009-11-27 21:55:10 | 显示全部楼层
Adlib不是多线程 跟UI线程是一起的  只是在一定时间内触发而已
 楼主| 发表于 2009-11-29 12:13:31 | 显示全部楼层
回复  老榆头


    不用客气,能帮你解决问题就好~! 我理解那种解决不了问题而煎熬的感觉,呵呵~
afan 发表于 2009-11-27 21:49



    是的,的确是煎熬
  再次感谢
 楼主| 发表于 2009-11-29 12:14:32 | 显示全部楼层
Adlib不是多线程 跟UI线程是一起的  只是在一定时间内触发而已
78391493 发表于 2009-11-27 21:55



    谢谢
发表于 2010-2-5 18:43:41 | 显示全部楼层
关键的代码是用了这句。。
ControlSetText("","","","")
发表于 2010-2-5 18:48:17 | 显示全部楼层
关键的代码是用了这句。。
ControlSetText("","","","")
lanfengc 发表于 2010-2-5 18:43



    不是,是就没这讨论了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 19:43 , Processed in 0.073429 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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