如何在C/C++代码中执行一个DOS命令(Win平台)
简单来说可以有三种方式可以实现:
1. int system( const char *command );
2. UINT WinExec( LPCSTR lpCmdLine, UINT uCmdShow );
3. HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
); [更多……]
这三种函数都可以创建一个新的进程,具体的函数定义请查看MSDN,里面说的很清楚。这里要说明的是如何执行一个DOS命令,比如 mkdir 。第一个函数很简单,直接把命令用字符串表示作为参数传入即可,如:"mkdir D:\\temp\\test"。后面两个就不太一样了,参数应该为"cmd /c mkdir D:\\temp\\test"。比如WinExec("cmd /c mkdir D:\\temp\\test", SW_HIDE); 和 ShellExecute(NULL, "open", "cmd /c mkdir", "D:\\temp\\test", NULL, SW_HIDE); 这样就可以了。我也是试了好久,没有搞定,最后还是求助于搜索,才得解。
[参考链接]:http://topic.csdn.net/t/20031023/01/2385175.html
