ドライブの種類を取得する方法
◆概要
このページは、Visual Basic 6.0でドライブの種類を取得する方法について記載しています。
指定されたドライブの種類を取得するには、ファイルシステムオブジェクトに含まれるDriveオブジェクトのDrive Type プロパティを利用する方法とGetDriveType API関数を利用する方法があります。
◆DriveオブジェクトのDrive Type プロパティを利用する方法
次の例は、Hドライブの種類をイミディエイトウィンドウに表示します。
次の例を実行する前に、Visual Basic 6.0のメニュー[表示]-[イミディエイトウィンドウ](ショートカットCtrl+G)でイミディエイトウィンドウを表示させておいてください。
Private Sub Command1_Click() Dim objDriveSystem As Object Dim objDrive As Object Dim strDrive As String strDrive = "H" Set objDriveSystem = CreateObject("Scripting.FileSystemObject") Set objDrive = objDriveSystem.getdrive(strDrive) 'Hドライブの種類を取得 Debug.Print strDrive; "ドライブの種類:"; Select Case objDrive.DriveType Case 0: Debug.Print "不明" Case 1: Debug.Print "リムーバルディスク" Case 2: Debug.Print "固定ディスク" Case 3: Debug.Print "リモートディスク" Case 4: Debug.Print "CD-ROM" Case 5: Debug.Print "RAMディスク" End Select 'オブジェクトを開放 Set objDriveSystem = Nothing Set objDrive = Nothing End Sub |
◆実行結果
◆GetDriveType API関数を利用する方法
GetDriveType API関数を利用すると、接続されているドライブの種類を判定することができます。
次の例は、GetDriveType 関数を使って、システムに存在するすべてのドライブを検出しています。
次の例を実行する前に、Visual Basic 6.0のメニュー[表示]-[イミディエイトウィンドウ](ショートカットCtrl+G)でイミディエイトウィンドウを表示させておいてください。
Option Explicit Private Declare Function GetDriveType _ Lib "KERNEL32" Alias "GetDriveTypeA" ( _ ByVal nDrive As String _ ) As Long 'GetDriveTypeが返す値 Const DRIVE_REMOVABLE = 2 Const DRIVE_FIXED = 3 Const DRIVE_REMOTE = 4 Const DRIVE_CDROM = 5 Const DRIVE_RAMDISK = 6 Private Sub Command1_Click() Dim i, Drv, D$ For i = 0 To 25 'AからZのすべてのドライブ D$ = Chr$(i + 65) & ":\" Drv = GetDriveType(D$) Select Case Drv Case DRIVE_REMOVABLE Debug.Print D$ & " ドライブはリムーバルです。" Case DRIVE_FIXED Debug.Print D$ & " ドライブはハードディスクです。" Case DRIVE_REMOTE Debug.Print D$ & " ドライブはリモートです。" Case DRIVE_CDROM Debug.Print D$ & " ドライブはCD-ROMです。" Case DRIVE_RAMDISK Debug.Print D$ & " ドライブはRAMディスクです。" Case Else End Select Next i End Sub
◆実行結果