Visual Basic Tips


ドライブの存在チェック・タイプチェック(API)


説明いらないですね。


Private Const
sDrv = "ABCDEF"

Private Sub Form_Load()
  
Dim i As Integer
  
Dim str As String
  
Dim lret As Long

  
For i = 1 To Len(sDrv)
    str = Mid(sDrv, i, 1) & ":\"
    lret = GetDriveType(str)
    
Select Case lret
      
Case DRIVE_UNKNOWN
         
Debug.Print str & " = ドライブの種類が判別できません。"
      
Case DRIVE_NO_ROOT_DIR
         
Debug.Print str & " = 指定のルートディレクトリが存在しません。"
      
Case DRIVE_REMOVABLE
         
Debug.Print str & " = ドライブからディスクを抜くことができます。"
      
Case DRIVE_FIXED
         
Debug.Print str & " = ドライブからディスクを抜くことができません。"
      
Case DRIVE_REMOTE
         
Debug.Print str & " = リモート (ネットワーク) ドライブです。"
      
Case DRIVE_CDROM
         
Debug.Print str & " = CD-ROM ドライブです。"
      
Case DRIVE_RAMDISK
         
Debug.Print str & " = RAM ディスクです。"
      
Case Else
         
Debug.Print "異常"
    
End Select
  
Next
End Sub

'--------------------------------------------------------
'
'--------------------------------------------------------
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Public Const DRIVE_UNKNOWN = 0
Public Const DRIVE_NO_ROOT_DIR = 1
Public Const DRIVE_REMOVABLE = 2
Public Const DRIVE_FIXED = 3
Public Const DRIVE_REMOTE = 4
Public Const DRIVE_CDROM = 5
Public Const DRIVE_RAMDISK = 6


DownLoad vbtips071.lzh 2KB (VB6.0)