投稿日 | : 2005/09/12(Mon) 11:46 |
投稿者 | : うえ |
Eメール | : |
URL | : |
タイトル | : Re^7: API使用時のOS環境による問題 |
前記の続きです。
プログラムは以下の通りに作成しました。
一部ですが・・・。
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 drvDrives_Change()
Dim ret As Long
ret = GetDriveType(drvDrives.Drive)
Select Case ret
Case DRIVE_TYPE_UNDTERMINED
Call MsgBox("ドライブが不明", vbOKOnly)
Case DRIVE_NO_ROOT_DIR
Call MsgBox("ルートディレクトリなし", vbOKOnly)
Case DRIVE_REMOVABLE
Call MsgBox("フロッピー又はリムーバブルディスク", vbOKOnly)
Case DRIVE_FIXED
Call MsgBox("固定ディスク(ハードディスク)", vbOKOnly)
Case DRIVE_REMOTE
Call MsgBox("リモート又はネットワークドライブ", vbOKOnly)
Case DRIVE_CDROM
Call MsgBox("CD-ROMドライブ", vbOKOnly)
Case DRIVE_RAMDISK
Call MsgBox("RAM ディスク", vbOKOnly)
End Select
End Sub
このように取得したドライブごとにメッセージを出力しています。