(个人笔记)au3 入门
来源:互联网 发布:八字排盘反推软件 编辑:程序博客网 时间:2024/06/06 02:49
看公司胡老师au3玩得那么风骚,忍不住也开始学习学习。
1.autoit3 安装下载。AU3TOOL 工具箱--程序相关设置-安装这个程序,然后把压缩包中的scite ,很好用的au3编辑器快捷方式发送到桌面
以下按照教程来。
2. 首先是MsgBox的使用。在scite 中输入msg之后,它会自动弹出相关联的函数表,和eclipse ,VS 大番茄插件类似。非常爽,紧接着输入()然后还有函数说明。这些贴心的功能 第一时间就喜欢上了。
3.然后也许是AU3 窗口信息工具(autoit window spy),这个工具可以捕捉新打开的窗口,标题,里面的内容。可以捕捉鼠标坐标(不推荐,不同屏幕,不同分辨率适配太差),以便在后面的编程中作为条件,进行识别判断。貌似在C/C++ 中叫句柄,这个不确定。
4.F7编译 CTR+F7 GUI 编译(有界面可选),可以选择X86 ,X64架构!
5.函数总结:
MsgBox(0, "窗口标题", "窗口内容")
run() //运行程序
winwaitactive(“窗口标题”,“窗口内容”) //等待指定窗口的开启然后运行,窗口内容应该使用比较独有的内容,免得混淆。
send // 模拟键盘按键 (! 代表alt,^ 代表ctrl ,+代表shift #代表win键) 发送多个按键 ("{SPACE} {TAB}{SPACE}")
winactive // 窗体已经激活
controlsettext ("窗体标题","窗体文本",“要设置文字的控件类名或控件精确标题”,“需要设置的文字”) //设置窗体里指定控件的文本,不论窗体或者控件的状态是否激活,可以输出中文。
controlsend ("窗体标题","窗体文本",“接收文字的控件类名或控件精确标题”,“需要输入的文字”) 不能输出中文 //修改默认路径 帮助文档 索引搜索下
controlclick("窗体标题",“窗体文本”,“要点击的控件类名或控件精确标题”) 点击指定窗体里的指定控件,不论窗体或控件这时的状体是否激活。
mouseclick("鼠标左右键",在屏幕的x位置,在屏幕的y位置,点击次数)
核心是先考虑使用一般命令和模拟键盘命令,再考虑复杂问题,再考虑获取屏幕坐标位置。
参考链接:http://wenku.baidu.com/view/362fa60d76c66137ee0619db.html
http://taozicici.blog.sohu.com/96021417.html
6.最近因为工作需要,写了一个定时获取外网IP(间隔半个小时),如果发现IP变化了,就利用花生壳动态DDNS 的HTTP协议手动更新IP,感觉蛮爽,但是还是有一些不足,欢迎指正
#Region ;**** 参数创建于 ACNWrapper_GUI ****#AutoIt3Wrapper_UseX64=n#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****;http://username:password@ddns.oray.com/ph/update?hostname=yourhostname&myip=ipaddress#include<ie.au3>#include<acn_net.au3>$x="http://username:password@ddns.oray.com/ph/update?hostname=yourhostname&myip="$y=$secondIp$firstIp=_networkgetinternetip()Sleep(30*60*1000)$secondIp=_networkgetinternetip()While $secondIp<>$firstIp $oIE = _IECreate ("about:blank") ;新建一个IE对象_IENavigate($oIE,addstr($x,$y)) ;开启一个IE 窗口Sleep(10000) _IEQuit($oIE) ;;退出WEndFunc addstr($x,$y)$sum=$x&$yReturn $sumEndFunc大概就是这样,先获取到外网IP,然后半小时候之后再获取一次,如果不一样就调用HTTP 协议进行手动更新,把usename 之类的自己替换下。
最后的字符串相加函数没有必要,直接用&即可,LZ新手,从C++转过来,习惯自定义函数了。。
7。老婆大人天天对着电脑,忙起来也不晓得休息,写个提醒程序送给她,不过编译之后生成的exe文件通过邮箱上传报毒,改后缀名,压缩,不使用upx压缩都不行。。。。
本程序可以实现自定义工作时间(45min),休息时间(5min),程序从运行开始会一直运行,直到下班时间,哦,对了下班时间也可以自定义~。不过这个版本暂时没有添加。
#Region ;**** 参数创建于 ACNWrapper_GUI ****#AutoIt3Wrapper_Icon=C:\Users\Administrator\Downloads\176.ico#AutoIt3Wrapper_UseUpx=n#AutoIt3Wrapper_UseX64=n#AutoIt3Wrapper_Res_Comment=Author by liuzhong ,自定义工作时间及休息时间,定时提醒功能.默认的上午下班时间是12点,下午6点#AutoIt3Wrapper_Res_Fileversion=1.0.1.6#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****MsgBox(64, "休息下,走走,透透气哦", "护眼计时开始")Dim $worktimeDim $resttime$worktime = InputBox("哈哈", "输入工作时间(min)")$resttime = InputBox("哈哈", "输入休息时间(min)")MsgBox(64, "小TIPS", "这个程序开启之后会一直运行,直到下班时间停止,默认上午12点或者下午6点")MsgBox(64, "友情提示", "需要直接关闭,在任务管理器中结束,或者在屏幕右下角状态栏退出脚本")DoSleep($worktime * 60 * 60 * 1000)MsgBox(0, $worktime & "分钟了,应该休息下了", "起来走走,喝点水,运动下")Sleep($resttime * 60* 60 * 1000)MsgBox(0, $resttime & "分钟休息时间到", "休息时间太短了,55555")Until @HOUR = 12 Or @HOUR = 18 ;为真停止运行
嗯,差不多就是这样。
8.今晚写了个快捷方式管理菜单。
值得记录的是,想要打开程序,但是程序的安装目录都不一样。所以在run 里面使用绝对路径就不是很好。
另外一种方案是把快捷方式全部放桌面,然后把脚本放在桌面上,通过@scriptdir 来进行调用。
比如现在有腾讯QQ 这个快捷方式,
开始使用的是
run(@scriptdir &“\腾讯QQ”) 这样的方式打开,不行。通过msgbox 输出@scriptdir 又是正确的桌面路径。那时怎么回事呢
百度了很久发现,应该用 shellexcute 这个函数来调用。
ShellExecute("腾讯QQ","",@DesktopDir)
另外帮助里面的
Send 函数可用的按键列表
- (个人笔记)au3 入门
- AU3 程序入门
- Au3入门介绍
- AU3学习笔记
- au3
- MTK个人入门笔记(有关编码)
- ECMAScript 6 入门 个人笔记(一)
- ECMAScript 6 入门 个人笔记(二)
- dwz 个人学习笔记(一)入门
- java入门基础之数据类型 个人笔记
- Android应用开发入门【个人笔记】
- R语言入门——个人笔记
- UITableView入门学习笔记(个人学习过程中的笔记)
- java基础入门学习笔记(一):bubblesort算法个人学习
- C++ Primer个人学习笔记 第1章 快速入门
- MTK个人入门笔记(修改多媒体界面与墙纸)
- MTK个人入门笔记(有关菜单树)
- MTK 个人入门笔记(各个模块资源占用)
- Linux下定位命令总结
- Java文本语音转换组件JTTS发布
- ubuntu12.04互换CapsLock和Ctrl键
- VC 编译链接错误总结
- 国内几个开源网址
- (个人笔记)au3 入门
- XML schema与xml dtd文件相比较的优点
- 高效的最大公约数算法
- 拥有这10个条件 让你成为优秀美工(网页设计师)
- ubuntu 12.04 开机自动挂载windows分区
- 通过网站将大量数据导出为XML
- 流编辑器sed
- win32项目、windows窗体应用程序、MFC区别
- 【水】【动态规划】香穗子系列解题报告