2013-05-09 98 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