我需要执行另一个应用程序,我想知道我是否应该使用WinExec
代替ShellExecute
,反之亦然。
两种方法有哪些区别?是否应该首选?
答案 0 :(得分:11)
WinExec
一直被弃用,仅出于向后兼容性原因而保留。它用于启动可执行文件。由于它的弃用,不要使用它。如文档中所述:
此功能仅用于与16位Windows兼容。应用程序应使用CreateProcess函数。
ShellExecute
未被弃用,但也不应使用,因为它无法正确报告错误。
使用ShellExecuteEx
执行shell谓词。
如果您希望创建进程,并且知道可执行文件名,请使用CreateProcess
。除非您需要执行提升,否则您需要使用ShellExecuteEx
动词runas
。