A-A+
在VS C++中使用WinExec()函数执行DOS命令
WinExec()函数的格式如下:
WinExec("cmd.exe DOS命令", 窗口控制参数);
窗口控制参数可选如下:
SW_HIDE 隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同
例如,获得当前目录下的文件列表:
WinExec("cmd.exe /c dir > result.txt", SW_HIDE);
执行结果:在当前目录新建文件result.txt,里面的内容就是dir命令的结果。
需要注意的是,WinExec()函数第一个命令行参数需是char类型的参数,关于w_char*(wchar_t*)或CString转char*的方法可参考文章《VS C++ w_char*(wchar_t*)或CString转char*》。