本帖最后由 haijie1223 于 2011-9-9 22:50 编辑
今天看到蛋蛋的某个帖子的回复,一时感觉有兴趣就好好看了下帮助,觉得对两个命令有了更好的理解,在此分享一下,高手直接无视掉。
平常写代码的时候用run和ShellExecute感觉效果一样,没什么区别,这是因为运行的文件是可执行文件。
因为帮助中界定的很清楚:Run ;运行外部程序.
Run ( "程序" [, "工作目录" [, 显示标志[, 可选标志]]] )
;参数:程序 程序所在的完整路径(文件格式为 EXE,BAT,COM 或 PIF).
run的对象只可以是exe,bat,com,或pif。这个应该不是很全,因为cmd文件应该也可以的。
所以如果不是可执行文件的话,用run就无效了。
再看ShellExecute:使用 ShellExecute API 执行一个外部程序.
也就是说利用系统本身来运行文件,所以只要系统能认识的文件,就能打开,就和双击操作是一样的,不管什么文件,只要系统中双击能打开,那么ShellExecute就能打开。
假如系统不认识某个文件的话,那么用ShellExecute命令也会不认识,照样会跳出“打开方式”的对话框。
你可以用以下几个命令对比一下:
FileOpen("c:\1.txt",1)
run("c:\1.txt")
以上这个命令因为txt文件不是可执行文件,所以没有效果,打不开。
FileOpen("c:\1.txt",1)
shellExecute("c:\1.txt")
以上这个命令,因为系统一般都有记事本程序来打开txt文件,所以这个会有效果。能打开1.txt
FileOpen("c:\1.txt",1)
FileMove("c:\1.txt","c:\1",1)
ShellExecute("c:\1")
以上这个命令会跳出“打开方式”对话框,因为系统不认识没有扩展名的文件,除非你提前设定系统用什么程序来打开这类没有扩展名的文件。
我原来也只是乱用一气,今天总算了解一些用法,发表一下,供和我一样的小菜学习分享。
欢迎拍砖! |