找回密码
 加入
搜索
查看: 4535|回复: 14

[AU3基础] [已解决]ControlSend发送字符串不成功,只打开了记事本

 火.. [复制链接]
发表于 2012-2-10 21:24:46 | 显示全部楼层 |阅读模式
本帖最后由 半翅鸟 于 2012-2-10 22:16 编辑

Run("Notepad.exe")
WinWaitActive("无标题 - Notepad2","")
ControlSend("无标题 - Notepad2", "", "[CLASS:SysListView32; INSTANCE:1]", "发送测试文本")
[img][/img]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +15 收起 理由
afan + 15 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2012-2-10 21:30:41 | 显示全部楼层
这个类不能 send
只能 ControlListView 操作某些动作
发表于 2012-2-10 21:32:09 | 显示全部楼层
xp sp3 系统 以下代码正常
Run("Notepad.exe")
WinWaitActive("无标题 - 记事本","")
ControlSend("无标题 - 记事本", "", "[CLASS:Edit; INSTANCE:1]", "发送测试文本")

你是不是64位系统? 编译成EXE再试下, 记得用 X64 模式.
发表于 2012-2-10 21:35:08 | 显示全部楼层
xp sp3 系统 以下代码正常

你是不是64位系统? 编译成EXE再试下, 记得用 X64 模式.
user3000 发表于 2012-2-10 21:32



    他是“记事本”第二部...
发表于 2012-2-10 21:41:03 | 显示全部楼层
他是“记事本”第二部...
afan 发表于 2012-2-10 21:35



    自己另外安装那种吗?

其实我是看图片猜的, 自己对自动代操作方面涉及的其实很少!
 楼主| 发表于 2012-2-10 21:41:28 | 显示全部楼层
回复 4# afan


    也就是说这个记事本程序不支持?我的时WINDOWS2003系统
发表于 2012-2-10 21:43:29 | 显示全部楼层
回复 6# 半翅鸟


    2长啥样我都不知道
 楼主| 发表于 2012-2-10 21:51:27 | 显示全部楼层
回复 7# afan

意思就是说这个操作系统自带的记事本程序有可能是特殊制作的?不支持吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-2-10 21:51:48 | 显示全部楼层
回复  afan


    也就是说这个记事本程序不支持?我的时WINDOWS2003系统
半翅鸟 发表于 2012-2-10 21:41



    我这里的2003的记事本跟XP的是一样的.
我想, 如果你确实操作此类的自动代, 可以拷贝一个XP的记事本(Notepad.exe), 把现在这个替换掉!
 楼主| 发表于 2012-2-10 22:10:23 | 显示全部楼层
回复 9# user3000
替换后问题基本上得到解决,但是为什么不直接发送文本,而是要单击一下鼠标在文本区域内,然后字符串才发送过来呢?不单击,不发送
发表于 2012-2-10 22:19:30 | 显示全部楼层
Run("Notepad.exe")
WinWaitActive("无标题 - Notepad2","")
ControlSend("无标题 - Notepad2", "", "[CL ...
半翅鸟 发表于 2012-2-10 21:24



    Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
Send("AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务.而这是其它语言不可能做到或无可靠方法实现的(例如VBScript和SendKeys).   AutoIt最初是为PC(个人电脑)对数千台PC进行配置的“批量处理”而设计,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本.")
WinClose("无标题 - 记事本")
WinWaitActive("记事本", "文件 无标题 的文字已经改变")
Send("!y")
WinWaitActive("另存为", "我的文档")
Send("简介")
Send("!s")
WinWaitActive("另存为", "我的文档")
Send("简介")
Send("!y")
Exit
发表于 2012-2-10 22:23:05 | 显示全部楼层
回复 11# au3fans2012


   这是从教程里面弄出来的一段代码, 全自动执行建立一个文本文件,自动输入一段文字并保存到我的文档里. 不知道为什么,显示的时候有部分乱码,希望对你有所帮助.  仅供参考.
发表于 2012-2-10 22:29:46 | 显示全部楼层
回复  user3000
替换后问题基本上得到解决,但是为什么不直接发送文本,而是要单击一下鼠标在文本区域内, ...
半翅鸟 发表于 2012-2-10 22:10

WinWaitActive 有个等待返回操作, 在你系统上运行代码可能检测不到记事本窗口, 所以一直等待无法返回.
可以不用该函数, 这样试试:
Run("Notepad.exe")
Sleep(1500) ; 可以视情况把延迟设短一点
WinActivate("无标题 - 记事本","")
ControlSend("无标题 - 记事本", "", "[CLASS:Edit; INSTANCE:1]", "发送测试文本")
 楼主| 发表于 2012-2-10 23:04:47 | 显示全部楼层
回复 13# user3000


    问题圆满解决,跑起来了,感谢上面两楼,都给我很大帮助,谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-19 10:30 , Processed in 0.096347 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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