0
点赞
收藏
分享

微信扫一扫

autoIT-RUN和ShellExecute打开文件的区别

今天看到蛋蛋的某个帖子的回复,一时感觉有兴趣就好好看了下帮助,觉得对两个命令有了更好的理解,在此分享一下,高手直接无视掉。
平常写代码的时候用run和ShellExecute感觉效果一样,没什么区别,这是因为运行的文件是可执行文件。
因为帮助中界定的很清楚:

  1. ​​Run​​ ;运行外部程序.
  2. ​​Run​​ ( "程序" [, "工作目录" [, 显示标志[, 可选标志]]] )
  3. ;参数:程序 程序所在的完整路径(文件格式为 EXE,BAT,COM 或 PIF).

run的对象只可以是exe,bat,com,或pif。这个应该不是很全,因为cmd文件应该也可以的。
所以如果不是可执行文件的话,用run就无效了。
再看ShellExecute:使用 ShellExecute API 执行一个外部程序.
也就是说利用系统本身来运行文件,所以只要系统能认识的文件,就能打开,就和双击操作是一样的,不管什么文件,只要系统中双击能打开,那么ShellExecute就能打开。
假如系统不认识某个文件的话,那么用ShellExecute命令也会不认识,照样会跳出“打开方式”的对话框。
你可以用以下几个命令对比一下:

  1. ​​FileOpen​​("c:\1.txt",1)
  2. ​​run​​("c:\1.txt")

以上这个命令因为txt文件不是可执行文件,所以没有效果,打不开。

  1. ​​FileOpen​​("c:\1.txt",1)
  2. ​​shellExecute​​("c:\1.txt")

以上这个命令,因为系统一般都有记事本程序来打开txt文件,所以这个会有效果。能打开1.txt

  1. ​​FileOpen​​("c:\1.txt",1)
  2. ​​FileMove​​("c:\1.txt","c:\1",1)
  3. ​​ShellExecute​​("c:\1")

以上这个命令会跳出“打开方式”对话框,因为系统不认识没有扩展名的文件,除非你提前设定系统用什么程序来打开这类没有扩展名的文件。



举报

相关推荐

0 条评论