系统与ShellExecute的区别? 在C++中,系统()/和 SeReExcel() 有什么不同? 在什么情况下,我应该使用系统()/和 SeExcel()/? < P> >标准C++中没有“ SeulExctudio//Cuff>”这样的内容。所以没有区别 有Win32函数,但这是Win32函数,不是C++标准函数,如系统< /> > .

系统与ShellExecute的区别? 在C++中,系统()/和 SeReExcel() 有什么不同? 在什么情况下,我应该使用系统()/和 SeExcel()/? < P> >标准C++中没有“ SeulExctudio//Cuff>”这样的内容。所以没有区别 有Win32函数,但这是Win32函数,不是C++标准函数,如系统< /> > .,c++,winapi,C++,Winapi,ShellExecute执行与系统不同的操作系统大致相当于在命令行中输入命令ShellExecute相当于双击文件(或右键单击并从列表中选择“动词”) 它们确实没有任何共同之处。 SeuleExcult//Cuth>与C++无关。Stand是标准的,SeLeXECUTE不是,使用former@111111你为什么这么说?假设您正在编写要在希望在用户默认浏览器中打开URL的Windows上运行的代码?当然ShellExecute是正确的解决方案。@111:错误。在编写Windows代码时,如果您

ShellExecute
执行与
系统
不同的操作<代码>系统大致相当于在命令行中输入命令
ShellExecute
相当于双击文件(或右键单击并从列表中选择“动词”)


它们确实没有任何共同之处。

<代码> SeuleExcult//Cuth>与C++无关。Stand是标准的,SeLeXECUTE不是,使用former@111111你为什么这么说?假设您正在编写要在希望在用户默认浏览器中打开URL的Windows上运行的代码?当然
ShellExecute
是正确的解决方案。@111:错误。在编写Windows代码时,如果您对可移植性不感兴趣,则应始终选择
ShellExecute
。只有当您确实需要编写可在多个平台上工作的可移植代码时,才可以使用
system
。即使如此,我还是建议使用
#ifdef
而不是
系统
。我认为,如果调用
系统
,控件在执行完成之前不会返回到程序,而
ShellExecute
不会等待完成。
ShellExecute
实际上是一个非常强大的函数,可以做很多事情。它强大的关键是能够指定一个“动词”作为参数,它告诉函数要执行哪个动作。因此,将其描述为以特定方式行为是有点不准确的,因为可以指示其以各种方式行为。当然,这是其威力和实用性的关键。在编写Win32代码时,
ShellExecute
应始终优先于
system
@CodyGray:但它们的作用不同<代码>系统搜索可执行文件的路径<必须告知代码>ShellExecute可执行文件的位置(如果您试图运行一个)。虽然
ShellExecute
可以运行可执行文件,但它比在可执行文件上运行
system
方便得多。我不确定我是否理解你的意思。您可以简单地执行
ShellExecute(NULL,“open”,“notepad.exe”,NULL,NULL,SW_SHOWNORMAL)
启动记事本。我想不起有什么东西需要你指定一个完全限定的路径来指向你路径上的某个东西。@Nicolas:
ShellExecute
甚至不需要被告知可执行文件是什么,更不用说它的位置了。例如,
ShellExecute(空,“打开”http://stackoverflow.com/“,NULL,NULL,SW_SHOWNORMAL)将打开默认浏览器。有关背景信息,请参阅。