我正在编写以下代码
void copyDir(void)
{
SHFILEOPSTRUCT s = { 0 };
s.hwnd = hwnd;
s.wFunc = FO_COPY;
s.pTo = "E:\\dest\0";
s.pFrom = "Dir\\*\0";
s.fFlags = FOF_SILENT;
SHFileOperation( &s );
}
上面的函数成功地将一个文件夹和子文件夹复制到目标路径,我遇到的唯一问题是当目标路径上不存在文件夹时,windows 提示“你想创建这个文件夹”,怎么能我绕过此提示和 Windows 显示的 Windows 进度条。
最佳答案
你需要使用这个标志:FOF_NOCONFIRMMKDIR
s.fFlags = FOF_SILENT | FOF_NOCONFIRMMKDIR;
复制和移动操作可以指定不存在的目标目录。在这些情况下,系统会尝试创建它们并通常会显示一个对话框询问用户是否要创建新目录。 要取消此对话框并静默创建目录,请在 fFlags 中设置 FOF_NOCONFIRMMKDIR 标志。
关于c++ - VS 2010 中 win32 应用程序中的文件夹复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175592/