ドライブの種類を取得する
                                                        玄関へお回り下さい。
ドライブの種類を取得する         (079)

Option Explicit   'SampleNo=079 WindowsXP VB6.0(SP5) 2002.05.17

'ドライブの種類を取得する(P914)
Private Declare Function GetDriveType Lib "kernel32" _
  Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Const DRIVE_TYPE_UNDTERMINED = 0 'ドライブが不明
Private Const DRIVE_NO_ROOT_DIR = 1   'ルートディレクトリなし
Private Const DRIVE_REMOVABLE = 2    'フロッピー又はリムーバブルディスク
Private Const DRIVE_FIXED = 3      '固定ディスク(ハードディスク)
Private Const DRIVE_REMOTE = 4      'リモート又はネットワークドライブ
Private Const DRIVE_CDROM = 5      'CD-ROMドライブ
Private Const DRIVE_RAMDISK = 6     'RAM ディスク


Private Sub Command1_Click()
  Dim i   As Integer
  Dim Ret  As Long
  Dim Drive As String
  List1.Clear
  For i = 65 To 75   'A〜Kドライブまでを調査
    Drive = Chr$(i) & ":\"
    Ret = GetDriveType(Drive)
    Select Case Ret
      Case DRIVE_TYPE_UNDTERMINED
        List1.AddItem Chr$(i) & _
            " : 不明なドライブです。"
      Case DRIVE_NO_ROOT_DIR
        List1.AddItem Chr$(i) & _
            " : ルートディレクトリがありません。"
      Case DRIVE_REMOVABLE
        List1.AddItem Chr$(i) & _
            " : フロッピー又はリムーバブルディスクです。 "
      Case DRIVE_FIXED
        List1.AddItem Chr$(i) & _
            " : 固定ディスク(ハードディスク)です。 "
      Case DRIVE_REMOTE
        List1.AddItem Chr$(i) & _
            " : リモート又はネットワークドライブです。 "
      Case DRIVE_CDROM
        List1.AddItem Chr$(i) & _
            " : CD-ROMドライブです。 "
      Case DRIVE_RAMDISK = 6
        List1.AddItem Chr$(i) & _
            " : RAM ディスクです。 "
    End Select
  Next i
End Sub




2002/05/17