我想在我的代码中使用批处理命令将文件复制到目标。
szCommand.Format(_T("copy \"%s\" \"%s\""), szOrg, szTargetFile);
_wsystem(szCommand);
但是,每次调用_wsystem时,都会提示一个控制台窗口,这非常不愉快。
有没有办法调用_wsystem而不显示控制台窗口?还是其他任何替代方案?
答案 0 :(得分:6)
要控制新程序的显示方式,请使用CreateProcess
。然后,您可以使用CREATE_NO_WINDOW
process-creation flag隐藏控制台程序的窗口。
但要将文件从一个地方复制到另一个地方,请跳过外部程序,然后拨打CopyFile
。
答案 1 :(得分:1)
为什么有一个Win32 API会为你复制文件时出现问题。它被称为CopyFile!
详细信息: http://msdn.microsoft.com/en-us/library/aa363851%28VS.85%29.aspx
#include <windows.h>
CopyFileA(szOrg, szTargetFile, FALSE); // use CopyFileW if szOrg and szTargetFile are unicode strings
答案 2 :(得分:0)
将窗口最小化是否合适?请参阅this。