2013-10-04 60 views
2

我在下面的代碼文件夾複製在VS 2010

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提示時,文件夾目標路徑不存在,窗口提示「你想創建這個文件夾」,我怎麼能繞過這個提示和窗口顯示的窗口進度條。

回答

1

您需要使用此標誌:FOF_NOCONFIRMMKDIR

s.fFlags = FOF_SILENT | FOF_NOCONFIRMMKDIR; 

複製和移動操作可以指定不存在目標目錄。在這些情況下,系統會嘗試創建它們,並通常會顯示一個對話框來詢問用戶是否要創建新目錄。 要禁止此對話框並使目錄靜默創建,請在fFlags中設置FOF_NOCONFIRMMKDIR標誌。

SHFILEOPSTRUCT structure