在以下代码示例中,其中filePath是:E:\[D]\My Collection
(由Picasa在归档媒体时生成的文件夹)在XP(32位)上可以正常工作。我最近在vista 64-bit上运行了这个...和ParseDisplayName错误,“值不在预期范围内”。所有其他文件夹(没有'[D]')工作正常。任何帮助,将不胜感激。在Vista中使用ParseDisplayName的有效路径不是非常有效。为什么?
try { int cParsed = 0; int pdwAttrib = 0; string filePath = Path.GetDirectoryName(file); pidlMain = IntPtr.Zero; folder.ParseDisplayName(IntPtr.Zero,IntPtr.Zero,filePath,out cParsed,out pidlMain,out pdwAttrib); } catch (Exception ex) { Marshal.ReleaseComObject(folder); throw ex; }
我也给了Windows的API代码包尝试(在Vista上)。 http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=WindowsAPICodePack&DownloadId=6840 示例代码中包含的缩略图演示在受到[D]文件夹时也会崩溃。 - Craig – clsturgeon 2009-09-09 23:43:45