在以下代碼示例中,其中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