【问题标题】:Valid path not so valid in Vista using ParseDisplayName. Why?在 Vista 中使用 ParseDisplayName 的有效路径不太有效。为什么?
【发布时间】:2010-11-26 13:47:09
【问题描述】:

在以下代码示例中...其中 filePath 为:E:\[D]\My Collection(picasa 在归档媒体时生成的文件夹)在 XP(32 位)上运行良好。我最近在 vista 64 位上运行了这个......并且 ParseDisplayName 错误“值不在预期范围内”。所有其他文件夹(没有“[D]”)都可以正常工作。任何帮助将不胜感激。

尝试 { 诠释 cParsed = 0; 诠释 pdwAttrib = 0; string filePath = Path.GetDirectoryName(file); pidlMain = IntPtr.Zero; folder.ParseDisplayName(IntPtr.Zero,IntPtr.Zero,filePath,out cParsed,out pidlMain,out pdwAttrib); } 捕捉(例外前) { Marshal.ReleaseComObject(文件夹); 扔前; }

【问题讨论】:

标签: c# shell path 64-bit windows-vista


【解决方案1】:

当您从左侧树视图。

例如-使用您提到的示例-代码包的示例。运行示例,选择浏览,从 CFD 中,从左侧树视图中选择您的文件夹。如果您进入文件夹然后单击“打开”,您也会遇到同样的问题。你得到的解析名称是:

c:\folder\folder(注意重复的文件夹)。

这是 Vista 中的一个已知问题...恐怕没有补丁(或者至少我知道 - 除非您切换到 Win7 :-))

【讨论】:

  • Keeron——谢谢你。我明白你的意思了。我需要更多时间来查看 API 代码包的其余部分。我仍然要找到我原来问题的答案。再次感谢您。
猜你喜欢
  • 2011-09-09
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
  • 2018-01-02
相关资源
最近更新 更多