我需要执行另一个应用程序,想知道是否有理由使用 WinExec
而不是 ShellExecute
或反之。
这两种方法之间有什么区别?是否应该优先使用其中一种?
我需要执行另一个应用程序,想知道是否有理由使用 WinExec
而不是 ShellExecute
或反之。
这两种方法之间有什么区别?是否应该优先使用其中一种?
WinExec
已经被弃用,只为了向后兼容而保留。它用于启动可执行文件。由于其已被弃用,请勿使用。正如文档中所述:
此函数仅提供与16位Windows的兼容性。应用程序应使用CreateProcess函数。
ShellExecute
没有被弃用,但由于无法正确报告错误,也不应该使用。
使用ShellExecuteEx
来执行shell动作。
如果您希望创建进程,并且您知道可执行文件的名称,则使用CreateProcess
。除非需要以提升的权限运行,在这种情况下需要使用具有runas
动作的ShellExecuteEx
。
WinExec
。我已经解释了何时使用SEE和何时使用CP。 - David Heffernan
CreateProcess
来执行应用程序,而不是ShellExecute
。忘记WinExec
,因为它已经过时很长时间了。 - TLama