c++ - VS 2010 中 win32 应用程序中的文件夹复制

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

我正在编写以下代码

 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 标志

SHFILEOPSTRUCT structure

关于c++ - VS 2010 中 win32 应用程序中的文件夹复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175592/

相关文章:

c++ - 窗外的QPushButton(灵感: CleanMyMac)

C++ 解析输入

MySQL root 密码在 Windows 中不起作用

windows - WinSock.h & WinSock2.h 使用哪个?

c++ - QPixmap/QImage 窗口的最大尺寸

c++ - 在 WINAPI 中格式化写入文件

C++ find 返回字符串变量 text 中的最后一个单词。字符串 getFirstWord(文本)

c++ - 使递归在 C++ 中更高效

c++ - OpenCV显示和处理网络摄像头流

linux - 从 Windows 到 Linux 的 RPC