2013-05-09 95 views
0

我想获取驱动器盘符来创建数据写入文件。这主要驱动主IDE通道。在系统中,我有另一个驱动器(辅助IDE作为从站),其中安装了操作系统。如何识别在Windows XP中的主要IDE通道上的硬盘驱动器(驱动器号)

我使用GetDriveType()时,它返回“可移动”我用它来创建文件。但并非所有驱动器都显示为可移动。有没有其他方式可以完成?

我的目标是确定将什么驱动器号分配给CF闪存驱动器。它在主要IDE通道中作为主设备。我现在的问题不是所有的CF卡都是“可移动的”。我不能依赖Windows,因为它每次启动时都不会分配相同的驱动器号。 因此我需要找到这个驱动器盘符。

+0

硬盘永远不会显示为“可移动”,因为它们不是按照定义可移动的。因此你的问题没有多大意义。你可以用不同的方式来重述它吗?为什么不要让用户指定暂存盘的位置? – 2013-05-09 08:25:52

+0

@CodyGray Google [可移动IDE硬盘托架](https://www.google.ca/#q=removable+ide+hard+drive+bay)。不过,它们通常不能“热插拔”。 – 2013-05-09 14:47:35

+1

@artless我很确定GetDriveType()函数仍然会返回这样的磁盘是固定的,不可移动的。可能是错的,还没有测试过它。 – 2013-05-09 23:05:14

回答

0

这可能会也可能不适合您,但您可以使用GetWindowsDirectory方法来确定安装Windows的路径(比如“C:\ windows”)。从这里你可以确定C:\驱动器有操作系统,在你的情况下,它可能是主驱动器。

这是MSDN docs

+0

这只会告诉你安装在哪个驱动器上。它不会告诉你任何有关主通道上的驱动器或主驱动器的信息。如果你只是假定系统盘是主盘,那么你可能只是假设主盘总是驱动'C:'。你会经常这样做。 – 2013-05-09 08:24:40