我正在处理以下代码
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提示“是否要创建此文件夹”,怎么能我绕过了这个提示和窗口显示的窗口进度条。
答案 0 :(得分:1)
您需要使用此标志:FOF_NOCONFIRMMKDIR
s.fFlags = FOF_SILENT | FOF_NOCONFIRMMKDIR;
复制和移动操作可以指定不存在的目标目录。在这些情况下,系统会尝试创建它们,并且通常会显示一个对话框,询问用户是否要创建新目录。 要禁止显示此对话框并以静默方式创建目录,请在fFlags中设置FOF_NOCONFIRMMKDIR标志。