开发者社区> 孤独的猫董> 正文

AutoIt自动化编程(1)

简介: autoit 2~运行程序或打开文件 1、运行程序 Run 命令或者函数用来运行外部可执行文件 AU3:Run ( "文件名" [, "工作目录" [, 标志]] ) EXAMPLE: AU3:Run("Notepad.exe") 上面的示例中都没有给出程序“Notepad.exe”的路径,为什么仍能执行?这是因为它们都会自动在脚本所在目录下搜寻目标文件,如有则运行,否则就到系统文件夹(%PATH%)中搜寻。
+关注继续查看

autoit 2~运行程序或打开文件

1、运行程序
Run 命令或者函数用来运行外部可执行文件

AU3
Run ( "文件名" [, "工作目录" [, 标志]] )

EXAMPLE:

AU3
Run("Notepad.exe")


上面的示例中都没有给出程序“Notepad.exe”的路径,为什么仍能执行?这是因为它们都会自动在脚本所在目录下搜寻目标文件,如有则运行,否则就到系统文件夹(%PATH%)中搜寻。
注意:
A)某些程序必须给定“工作目录”才能成功运行!
B)给出完整的文件路径有助于轻微提高程序的可靠性。
CAHKRun命令可以用来运行程序和直接打开文件,而AU3Run函数则只能用来运行程序(可执行文件)或传递参数让某个程序打开目标文件。
当然,运行程序的功能还不仅仅是这么简单,我们还可以指定运行程序的初始状态,比如让运行的记事本窗口以最大化状态显示(或者最小化、隐藏):
【示例 2.1.2
AU3
Run("Notepad.exe", "", @SW_MAXIMIZE) 
  
2、打开文件
前面已经提到,AHKRun命令可以直接打开文件,而AU3Run函数则只能用来运行程序,因此在打开文件的方式上有点不同:AHK脚本中可直接给出目标文件,而AHK将自动运行该文件的关联程序来打开它;而AU3则必须由用户自己传递参数让某个程序打开目标文件。
【示例 2.2.1
AHK
Run, MyFile.txt
Run, Notepad.exe MyFile.txt
AU3
Run("Notepad.exe MyFile.txt") 
  
ps:AU3以“函数”的形式提供:
Function(param1, param2, …)

3、以命令行形式运行程序
可以考虑运行系统的命令行解释器(cmd.exe/command.com),然后指定要执行的命令并传递参数。
假设我们要执行命令“dir C:\WINDOWS\system 32 ,用以列出指定目录的所有文件及子目录。
【示例 2.3.1
AHK
Run, %ComSpec% /k dir C:\WINDOWS\system32
AU3
Run(@ComSpec & " /k dir C:\WINDOWS\system32")
注意:
AComSpec是脚本内建的用以指示命令行解释器位置的变量或宏。
B/k 参数表示“执行字符串指定的命令但保留”,若改为 /c 则表示“执行字符串指定的命令然后终断”。对此比较直观的解释是 /k 将在执行完命令后保留命令提示窗口,而 /c 则将在执行完命令之后关闭命令提示窗口。
C)符号“&”是AU3定义的字符串连接符。


附上我的两段代码:

;Run("rundll32.exe shell32.dll,Control_RunDLL ncpa.cpl,,2")
;Run("Notepad.exe d:\Nw.ps1")
$file = FileOpen("d:\Nw.ps1", 0)   ;只能打开文件进行操作,但看不到文件
  
   ; 检查打开的文件是否可读
   If $file = -1 Then
    MsgBox(0, "错误", "不能打开文件.")
    Exit
   EndIf
  
   ; 每次读取一行文本,直到文件结束.
   While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "读取的行:", $line)
   Wend

 

=====================================================

Dim $title
Dim $ok_control
$title="关于 计算器"
$ok_control="[CLASS:Button;TEXT:确定]"
WinActivate($title)
ControlClick($title,"",$ok_control)

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SharePoint自动化系列——Solution auto-redeploy using Selenium(C#)
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 本来的想法是做一个可以自动卸载并且部署新solution到SharePoint farm的tool。
957 0
Spring(05)——基于XML配置的自动注入(autowire)
5 基于XML配置的自动注入(autoWire) 5.1 autowire 通常如果我们需要给一个bean注入另一个bean时都是通过set方法或者构造方法进行注入,其实Spring也支持bean的自动注入。
880 0
TensorFlow新功能:TensorFlow Probability概率编程工具箱介绍
2018年,tensorflow开发者峰会上,tensorflow管理人员发布了:TensorFlow Probability——一种概率编程工具箱,用于机器学习研究人员和从业人员快速可靠地构建利用最先进硬件的复杂模型。快来学习一下吧~
3473 0
xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧。 首先在某个容易进入的地方加断点,并停在那,例如main函数。
964 0
干货 | 一文搞定 uiautomator2 自动化测试工具使用
![](https://ceshiren.com/uploads/default/original/3X/f/a/facb6e29bf503b39571011963faf36c586c673c0.jpeg) Google 官方提供了一个 Android 自动化测试工具(Java 库),基于 Accessibility 服务,功能很强,可以对第三方 App 进行测试,获取屏幕上任意一个 App 的
108 0
JetBrains 发布新款编程字体,提高编程效率、开源免费可商用!
JetBrains 发布新款编程字体,提高编程效率、开源免费可商用!
154 0
一起谈.NET技术,.NET中的异步编程(二)- 传统的异步编程
  在上一篇文章中,我们从构建响应灵敏的界面以及构建高可伸缩性的服务应用来讨论我们为什么需要异步编程,异步编程能给我们带来哪些好处。那么知道了好处,我们就开始吧,但是在异步编程这个方面,说总是比做简单。
889 0
742
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载