I have written some code in C#, however, it fails if my ZIP file is password protected otherwise extracts the file if there is no password protection.
Shell32.ShellClass sc = new Shell32.ShellClass();
Shell32.Folder SrcFlder = sc.NameSpace("c:\\test1.zip");
Shell32.Folder DestFlder = sc.NameSpace("c:\\test");
Shell32.FolderItems items = SrcFlder.Items();
DestFlder.CopyHere(items,20);