1、异步 函数
WIN32 API WinExec(“one.exe”, SW_SHOWNORMAL);第二个参数只是WinExec函数的参数,不是one.exe的参数。
注意:第一个参数一定是ASCII
2、同步函数
system函数原型: int system(const char *command) 是C库函数
注意:
1)第一个参数为ASCII ,运行时会弹出黑框
2) system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。
3)如果调用进程的目录中含有空格,包含空格的目录必须用引号括起来
例如要执行 “c:\progress abc\123.exe” “d:\123.txt” “d:\124.txt”
command 正确的写法为
c:\“progress abc”\123.exe” “d:\123.txt” “d:\124.txt”
BOOL ShellExecuteEx
WIN32 API 函数执行成功,返回 TRUE ,否则返回 FALSE ,可使用 GetLastError 获取错误码。
https://www.cnblogs.com/lixianhu1998/p/12194101.html
CreateProcess ,配合管道,可以获取程序输出到终端内容(参考Poco 库的Process)
WIN32 API 若函数调用成功,则返回值不为0;若函数调用失败,返回值为0。
使用建议:
优先 CreateProcess > ShellExecuteEx > WinExec > system