如何在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

Posted by 王永杰 in C&C++, 技术为本 - Tags: , ,
28 07月

没有评论 »

还没有评论。

发表评论