C# 了解硬盘上安装程序/文件的位置
假设我有一个文件:C# 了解硬盘上安装程序/文件的位置,c#,windows,C#,Windows,假设我有一个文件:test.txt,我把它保存在硬盘上 是否有办法确定文件保存在硬盘上的哪个(物理)位置 例如,硬盘磁道10上的矢量12 我不知道我是否理解了上面的术语,但我希望你明白我的意思 我想写一个程序,当用户可以指向一个文件,该程序将发现该文件在硬盘上的位置。类似于旧的碎片整理(它是Windows;)),其中显示了磁盘的哪些部分正在使用 这叫什么?它能实现吗?(我不是在寻找代码(虽然Exmaple是ok ofc),而是在寻找它是否可行) 另外,客户端将是Windows 7(因此,如果重要
test.txt
,我把它保存在硬盘上
是否有办法确定文件保存在硬盘上的哪个(物理)位置
例如,硬盘磁道10上的矢量12
我不知道我是否理解了上面的术语,但我希望你明白我的意思
我想写一个程序,当用户可以指向一个文件,该程序将发现该文件在硬盘上的位置。类似于旧的碎片整理(它是Windows;)),其中显示了磁盘的哪些部分正在使用
这叫什么?它能实现吗?(我不是在寻找代码(虽然Exmaple是ok ofc),而是在寻找它是否可行)
另外,客户端将是Windows 7(因此,如果重要的话,请考虑NTFS)。我非常确定,在托管代码中执行这种低级磁盘I/o将是……困难的,充其量。有人做过类似的事情: 你写的任何东西都必须依赖于硬件:除非你知道你在说什么硬件,否则你根本不知道它是如何物理存储数据的(例如,USB记忆棒既没有盘片、磁道也没有扇区,也没有旋转。然而,出于所有的意图和目的,它似乎是一个磁盘) 通常,您会编写某种设备驱动程序来完成此任务。此链接
可能会有帮助。在杰弗里·沃尔的博客中你会发现。他的<代码> GETFILMAP 方法SEMS接近您所需要的。
从C++可以实现,所以稍加互操作,您就可以了。 在MSDN中查找以开始。
我可以问一下,为什么您需要知道文件x是“在第10轨道的向量12上”?