GetDriveType 傳入根目錄字串 (如 'C:\'),回傳 UINT 型別代碼,對應七種磁碟類型。適用於安裝程式檢查目標磁碟、備份軟體過濾磁碟機等場景。
function GetDriveType(lpRootPathName: PChar): UINT; stdcall;
| 常數 | 值 | 類型 | 說明 |
|---|---|---|---|
| DRIVE_UNKNOWN | 0 | 未知 | 無法判斷 |
| DRIVE_NO_ROOT_DIR | 1 | 根目錄不存在 | 路徑無效 |
| DRIVE_REMOVABLE | 2 | 可移除磁碟 | USB 隨身碟、軟碟機 |
| DRIVE_FIXED | 3 | 固定磁碟 | 內建硬碟、SSD |
| DRIVE_REMOTE | 4 | 網路磁碟 | 對應網路磁碟機 |
| DRIVE_CDROM | 5 | 光碟機 | CD/DVD/BD |
| DRIVE_RAMDISK | 6 | RAM 磁碟 | 虛擬磁碟 |
procedure TForm1.FormCreate(Sender: TObject);
var
c: Cardinal;
begin
c := GetDriveType('C:\');
ShowMessage(IntToStr(c)); // 通常回傳 3 (固定磁碟)
end;
注意:DRIVE_REMOVABLE (2) 包含軟碟機與 USB 大量儲裝裝置;若需區分 USB 還需查詢裝置屬性。