bool doUnZip( const char* src, const char* dest ) { CoInitialize(0); Shell32::IShellDispatch2Ptr shell; shell.CreateInstance(__uuidof(Shell32::Shell)); _bstr_t bs( src ); _variant_t varsrc ( bs ); Shell32::FolderPtr srcfolder = shell->NameSpace( varsrc ); _bstr_t bd( dest ); _variant_t vardest( bd ); Shell32::FolderPtr destfolder = shell->NameSpace( vardest ); Shell32::FolderItemsPtr items = srcfolder->Items(); long flags = FOF_NOCONFIRMATION | FOF_NOERRORUI; HRESULT hres = destfolder->CopyHere( _variant_t((IDispatch*)items,true), flags ); ::Sleep(1000); CoUninitialize(); if ( SUCCEEDED(hres) ) return true; else { const char* errmsg = "Unzip Failed"; return false; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)