如何选择使用ShellExecute及Run命令?
本帖最后由 zjimmy 于 2009-7-26 13:11 编辑ShellExecute:使用 ShellExecute API 执行一个外部程序。
Run:运行外部程序。
好像很多情形下两者都可以实现一些程序的执行,如何选择使用ShellExecute及Run命令?
我的意思是,当两者都可以实现同一程序的执行时,他们的区别在哪?
[ 本帖最后由 zjimmy 于 2008-5-13 22:06 编辑 ] 你能对一个bmp位图run吗…… 我的意思是,当两者都可以实现同一程序的执行时,他们的区别在哪? run 楼主不是第一次问同一个问题了... 原帖由 漠北雪~狼 于 2008-5-14 01:36 发表 http://www.autoitx.com/images/common/back.gif
run 楼主不是第一次问同一个问题了...
???
"run"你表达的是什么意思呢?run好?貌似什么都没有说到。。。 貌似 Run 可以带所运行文件的参数,ShellExecute的不可以... 原帖由 ollydbg 于 2008-5-22 21:07 发表 http://www.autoitx.com/images/common/back.gif
貌似 Run 可以带所运行文件的参数,ShellExecute的不可以...
错了。都支持参数的。。
当你不知道某种格式是调用什么运行的时候,就用ShellExecute。 Run只能运行.exe的程序,而ShellExecute可以打开任意类型的文件。
比如ShellExecute("C:\txt.txt")可以用记事本打开"C:\txt.txt"文件,
而run("C:\txt.txt")是无法执行的。 补楼上,应该是可执行文件吧,可不定是EXE啊,COM BAT VBS CMD等等都行吧
我这样理解的, 不知道合适不
ShellExecute把执行的问题交给WINDOWS,WINDOWS的工作方式是查扩展名的运行命令。。注册表里都有。。没有的对不起了不能调用合适的命令来执行
Run 的就直接可执行文件了。。只要 WINDOWS支持就直接运行之 是啊,同样能用情况的区别在哪呢?
我认为用法的区别肯定是有的,楼上都说了,“两者都可以实现”那就是结(效)果没区别了。
那我的意思是:
结果没区别就不说区别了,就只说用法的区别
1、爱用谁就用谁,也就是以你的习惯来选用
2、重代码精简的,用run
换另一个意思来说:
你从A地到不远的B地,打个比方就500米
假如只有两种文式可以去,一种是徒步,一种是骑自行车,你说你选择哪个?
我认为,哪个都一样?
如果你喜欢散步,就徒步了,而你觉得累了,想在更短的时间达到,就选骑车
而无论是选择哪个,对于不能不能达到B地的结果(如同能不能执行程序的结果)是一样的,都到目的地了 如果你去编一个类似“运行”的程序,会了解二者更多的不同。 不知道是不是我理解有误shellexecute是要有运行环境的,run是直接运行,换句话说,有些程序在dos下不能运行,但在windows环境下就可以运行。而且,楼上的也说过了,比如像txt文件,用shellexecute的话,可以直接调用notepad.exe打开,而不用多写代码
[ 本帖最后由 netegg 于 2008-5-31 01:23 编辑 ] 原帖由 llztt 于 2008-5-24 20:48 发表 http://www.autoitx.com/images/common/back.gif
补楼上,应该是可执行文件吧,可不定是EXE啊,COM BAT VBS CMD等等都行吧
我这样理解的, 不知道合适不
ShellExecute把执行的问题交给WINDOWS,WINDOWS的工作方式是查扩展名的运行命令。。注册表里都有。。没有的 ...
赞同这个理解,从2者的参数格式可以看出很明显的区别:
Run ( "文件名" [, "工作目录" [, 标志[, 标准_i/o_标志]]] )
文件名 可执行文件的完整路径(文件格式为 EXE、BAT、COM 或 PIF)。
这里的文件名必须指定可执行文件。
ShellExecute ( "文件名" [, "参数" [, "工作目录" [, "verb" [, 显示状态]]]] )
文件名 需要运行的文件名 (EXE, .txt, .lnk, 等等).
ShellExecute从字面上说就是“用命令解释器执行”,所以文件名参数可以是系统的shell可识别的任何文件类型。
我们指定一个文件,WIN系统就搜索命令解释器,找到对应的运行程序,打开指定的文件 等你安装后缀名为.msi的安装软件的时候,你会发现用run命令怎么也run不出来,那就试一试shellexecute吧!! MSI用RUN也一样行的。只是语法不同罢了。
页:
[1]
2