フロッピーディスクドライブを取得する
以下のFloppy関数を使うと フロッピーディスクドライブを"A:\"のような文字列として取得できる。
ただし、実際にはFloppy関数は一番初めのリムーバブルメディアドライブを取得するだけなので、取得したドライブはUSBメモリ等である可能性もある。しかし、ほとんどの環境でフロッピーディスクドライブは一番初めのリムーバブルメディアドライブである。
Private
Declare Function GetDriveType Lib
"kernel32" Alias "GetDriveTypeA" (ByVal
nDrive As String) As
Long Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long |
'■Floppy '■機能:フロッピーディスクドライブが何ドライブか調べる '■戻り値:フロッピーディスクドライブ名。たとえば"A:\"。 '■ フロッピーディスクドライブが見つからないときは空文字を返す。 Public Function Floppy() As String Dim Buffer As String * 106 Dim DriveList As String Dim K As Integer '有効なドライブの一覧を取得する。 Call GetLogicalDriveStrings(Len(Buffer), Buffer) 'NULLをはずす。 For K = 1 To Len(Buffer) If Mid(Buffer, K, 1) <> Chr(0) Then DriveList = DriveList & Mid(Buffer, K, 1) End If Next K 'それぞれのドライブのタイプをチェックする。 For K = 1 To Len(DriveList) \ 3 If GetDriveType(Mid(DriveList, (K - 1) * 3 + 1, 3)) = 2 Then Floppy = Mid(DriveList, (K - 1) * 3 + 1, 3) Exit Function End If Next K Floppy = "" End Function |