【问题标题】:Folder Copy in win32 application in VS 2010VS 2010 中 win32 应用程序中的文件夹复制
【发布时间】:2013-10-04 07:25:28
【问题描述】:

我正在编写以下代码

 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显示的windows进度条。

【问题讨论】:

    标签: c++ windows winapi visual-c++


    【解决方案1】:

    你需要使用这个标志:FOF_NOCONFIRMMKDIR

    s.fFlags = FOF_SILENT | FOF_NOCONFIRMMKDIR;
    

    复制和移动操作可以指定不存在的目标目录。在这些情况下,系统会尝试创建它们,并且通常会显示一个对话框来询问用户是否要创建新目录。 要禁止显示此对话框并静默创建目录,请在 fFlags 中设置 FOF_NOCONFIRMMKDIR 标志

    SHFILEOPSTRUCT structure

    【讨论】:

      猜你喜欢
      • 2012-11-27
      • 2013-06-30
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2016-02-21
      • 2010-10-19
      相关资源
      最近更新 更多