半翅鸟 发表于 2012-2-10 21:24:46

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

本帖最后由 半翅鸟 于 2012-2-10 22:16 编辑

Run("Notepad.exe")
WinWaitActive("无标题 - Notepad2","")
ControlSend("无标题 - Notepad2", "", "", "发送测试文本")

afan 发表于 2012-2-10 21:30:41

这个类不能 send
只能 ControlListView 操作某些动作

user3000 发表于 2012-2-10 21:32:09

xp sp3 系统 以下代码正常
Run("Notepad.exe")
WinWaitActive("无标题 - 记事本","")
ControlSend("无标题 - 记事本", "", "", "发送测试文本")
你是不是64位系统? 编译成EXE再试下, 记得用 X64 模式.

afan 发表于 2012-2-10 21:35:08

xp sp3 系统 以下代码正常

你是不是64位系统? 编译成EXE再试下, 记得用 X64 模式.
user3000 发表于 2012-2-10 21:32 http://www.autoitx.com/images/common/back.gif


    他是“记事本”第二部...

user3000 发表于 2012-2-10 21:41:03

他是“记事本”第二部...
afan 发表于 2012-2-10 21:35 http://www.autoitx.com/images/common/back.gif


    自己另外安装那种吗?

其实我是看图片猜的, 自己对自动代操作方面涉及的其实很少!

半翅鸟 发表于 2012-2-10 21:41:28

回复 4# afan


    也就是说这个记事本程序不支持?我的时WINDOWS2003系统

afan 发表于 2012-2-10 21:43:29

回复 6# 半翅鸟


    2长啥样我都不知道

半翅鸟 发表于 2012-2-10 21:51:27

回复 7# afan

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

user3000 发表于 2012-2-10 21:51:48

回复afan


    也就是说这个记事本程序不支持?我的时WINDOWS2003系统
半翅鸟 发表于 2012-2-10 21:41 http://www.autoitx.com/images/common/back.gif


    我这里的2003的记事本跟XP的是一样的.
我想, 如果你确实操作此类的自动代, 可以拷贝一个XP的记事本(Notepad.exe), 把现在这个替换掉!

半翅鸟 发表于 2012-2-10 22:10:23

回复 9# user3000
替换后问题基本上得到解决,但是为什么不直接发送文本,而是要单击一下鼠标在文本区域内,然后字符串才发送过来呢?不单击,不发送

au3fans2012 发表于 2012-2-10 22:19:30

Run("Notepad.exe")
WinWaitActive("无标题 - Notepad2","")
ControlSend("无标题 - Notepad2", "", "[CL ...
半翅鸟 发表于 2012-2-10 21:24 http://www.autoitx.com/images/common/back.gif


    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

au3fans2012 发表于 2012-2-10 22:23:05

回复 11# au3fans2012


   这是从教程里面弄出来的一段代码, 全自动执行建立一个文本文件,自动输入一段文字并保存到我的文档里. 不知道为什么,显示的时候有部分乱码,希望对你有所帮助.  仅供参考.

user3000 发表于 2012-2-10 22:29:46

回复user3000
替换后问题基本上得到解决,但是为什么不直接发送文本,而是要单击一下鼠标在文本区域内, ...
半翅鸟 发表于 2012-2-10 22:10 http://www.autoitx.com/images/common/back.gif
WinWaitActive 有个等待返回操作, 在你系统上运行代码可能检测不到记事本窗口, 所以一直等待无法返回.
可以不用该函数, 这样试试:
Run("Notepad.exe")
Sleep(1500) ; 可以视情况把延迟设短一点
WinActivate("无标题 - 记事本","")
ControlSend("无标题 - 记事本", "", "", "发送测试文本")

半翅鸟 发表于 2012-2-10 23:04:47

回复 13# user3000


    问题圆满解决,跑起来了,感谢上面两楼,都给我很大帮助,谢谢
页: [1]
查看完整版本: [已解决]ControlSend发送字符串不成功,只打开了记事本