假设我有一个文件:test.txt,并将其保存在硬盘上。

有没有办法确定文件保存在硬盘上的哪个位置(物理位置)?

例如,在硬盘磁道10上的矢量12上。

我不知道我是否理解上述术语,但我希望您理解我的意思。

我想编写程序,以便用户可以指向一个文件,该程序将找出该文件在HDD上的位置。类似于旧的碎片整理程序(它是Windows;)),它显示磁盘的哪些部分正在使用中。

这叫什么,可以实现吗? (我不是在寻找代码(尽管可以使用示例),而是是否有可能)

P.S.客户端将是Windows 7(因此请考虑使用NTFS)。

最佳答案

我非常确定,在托管代码中进行这种低级磁盘I/O充其量是困难的。这是做某件事的人:

http://codebrainz.ca/index.php/2010/05/23/low-level-disk-io-in-managed-net/

您为执行此类操作而编写的任何内容都必须依赖于硬件:除非您知道要与之对话的硬件,否则您不知道它如何物理存储数据(例如,USB内存棒既没有磁盘,磁道也没有磁盘)扇区,它也不旋转。但是,从所有意图和目的来看,它似乎都是磁盘。

通常,您将编写某种设备驱动程序来实现此目的。这个连结

http://en.wikibooks.org/wiki/Windows_Programming/Device_Driver_Introduction

可能有帮助。

关于c# - 找出程序/文件在硬盘上的什么位置被安装,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9022564/

10-10 14:14
查看更多