我的需要很简单。给定一个Windows目录路径我想要的只是实际路径。我确信术语是错误的,所以我举一个例子。
鉴于 C:\ Documents and Settings \ All Users ,该方法应显示:
这是因为在Windows 7 C:\ Documents and Settings 是一个引用 C:\ Users 和 C:\ Users \ All Users 的联结strong>是另一个引用 C:\ ProgramData 的联结,这是实际的目录。
所以,我的问题是.NET API能让我做到这一切吗?
感谢。
答案 0 :(得分:1)
从已经弄明白的人那里查看this code sample。
基本上,您必须通过P / Invoke使用Win32函数DeviceIoControl,将FSCTL_GET_REPARSE_POINT
作为dwIoControlCode
参数传递。
正如CodeProject上的人所说......
我发现.NET很有趣 Framework的FileAttributes枚举 包括价值 FileAttributes.ReparsePoint但在那里 没有其他内置的支持 重新分析点。
没有“本机”.NET API可以做到这一点,但请记住,大部分框架只是P / Invoke调用的包装器,所以你不应该害怕它们:)