两者之间的主要区别是什么?我只愿意从我的(C++)应用程序运行另一个EXE。继承环境,安全功能等时有什么区别吗?

最佳答案

CreateProcessShellExecute之间的主要区别如下:CreateProcess面向较低级别,而ShellExec面向高级用户控制杆,可在资源管理器中查看用户。

例如,使用CreateProcess可以使用长度比MAX_PATH更长的命令行。它具有32,768个字符的限制。您也可以使用CreateProcess在另一个Windows桌面(如“登录屏幕”)上启动程序(如果您具有足够的权限)。

另一个例子。例如,您可以使用ShellExecute启动控制面板或打开计算机上存在的用于编辑JPG文件的任何程序。因此,您可以使用ShellExecute来接近Windows资源管理器中的相应操作。

关于c++ - CreateProcess和ShellExecute的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10747479/

10-12 20:43