zip自解压
Shell32.ShellClass sc = new Shell32.ShellClass(); <1>
Shell32.Folder SrcFolder = sc.NameSpace(zipFile); <2>
Shell32.Folder DestFolder = sc.NameSpace(destFolder); <3>
Shell32.FolderItems items = SrcFolder.Items(); <4>
DestFolder.CopyHere(items, 20); <5>
小弟想使用XP自带的提取功能,对ZIP解压,使用以上代码
但是在运行的过程中, <2> 总是抛出[找不到指定的文件]异常
但是把 变量 zipFile 放到 sc.open(zipFile);里,就可以使用rar软件打开对应的文件了,按理说应该是能找到那个ZIP文件才对吖,求解决,困扰了两三天了.
------最佳解决方案--------------------Shell32.ShellClass sc = new Shell32.ShellClass();
Shell32.Folder SrcFolder = sc.NameSpace(Server.MapPath("~") + "\\1.zip");
Shell32.Folder DestFolder = sc.NameSpace(Server.MapPath("~") + "\\aaa");
Shell32.FolderItems items = SrcFolder.Items();
DestFolder.CopyHere(items, 20);
------其他解决方案--------------------相关目录存在么 ?
------其他解决方案--------------------http://www.cnblogs.com/hiber/archive/2007/10/17/927795.html
------其他解决方案--------------------
唉,还是不行吖,都按照这样写代码的了
------其他解决方案--------------------
小弟的项目是winApplication的,按照大哥你的做法,我也在webApplication做了一次,问题依然
Shell32.Folder SrcFolder = sc.NameSpace(Server.MapPath("~") + "\\1.zip");异常在这里就抛出了
系统找不到指定的文件。 (异常来自 HRESULT:0x80070002)
比如说代码
Shell32.Folder SrcFolder = sc.NameSpace(@"D:\My Documents\visual studio 2010\Projects\WebApplication1\WebApplication1\1.zip");
会抛出异常
但是
sc.open(@"D:\My Documents\visual studio 2010\Projects\WebApplication1\WebApplication1\1.zip");
可以调动相应的程序打开1.zip
Shell32.Folder SrcFolder = sc.NameSpace(@"D:\My Documents\visual studio 2010\Projects\WebApplication1\WebApplication1\");
这行代码也可以正确获取SrcFolder对象
求各位大哥解决一下.
------其他解决方案--------------------目标路径和源文件路径
------其他解决方案--------------------
源文件目录与文件都存在
可以使用sc.open()打开
当使用sc.NameSpace就抛出[系统找不到指定的文件。 (异常来自 HRESULT:0x80070002)]
路径都是相同的