【发布时间】:2013-06-27 08:33:27
【问题描述】:
我想知道如何使用 c++ 编程在 Windows 中打开任何应用程序,我使用的是 dev c++。我使用了system(),但它表现不佳或者我没有正确使用它。请告诉我system() 的语法来打开一个应用程序或告诉另一个函数。
【问题讨论】:
标签: c++ windows process windows-applications
我想知道如何使用 c++ 编程在 Windows 中打开任何应用程序,我使用的是 dev c++。我使用了system(),但它表现不佳或者我没有正确使用它。请告诉我system() 的语法来打开一个应用程序或告诉另一个函数。
【问题讨论】:
标签: c++ windows process windows-applications
Windows 使用 shell 执行而不是系统。
#include <Windows.h>
//Link with library: Shell32.lib or libshell32.a
ShellExecute(
NULL, //handle to the parent window
"open", //Action to take
"Notepad.exe", //Program path
"arg1 arg2", //Command line arguments
"C:\\", //Start in what directory
SW_SHOWMAXIMIZED //Window state
);
对于 system(),它只需要一个参数,与您在控制台 (cmd.exe) 中键入的参数相同
例如
system("dir /a"); 与在 cmd.exe 中键入 dir /a 完全相同
如果您在构建 devC++ 时遇到问题,请检查项目属性。
来自“项目选项”>目录>
\MinGW64\x86_64-w64-mingw32\lib32
\MinGW64\x86_64-w64-mingw32\include
来自“项目选项”>参数>链接器
-lshell32【讨论】:
windows.h 是否包含在 minggw 编译器中,因为 dev c++ 使用该编译器?
.exe 文件。
您尝试过 CreateProcess 吗?
CreateProcess(lpApplicationName
NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
lpStartupInfo,
lpProcessInformation
)
【讨论】: