Windowsパスは機種とOSの種類によって、C:\Windows, C:\WinNT, A:\Windows ..
のように変わりますが、Win32APIのGetWindowsDirectory関数を利用して、ドライブ
レターを含めたWindowsパスを取得することができます。
例えば、新規標準モジュールに以下のサンプルコードを記述し、FD_DriveLetter()を
実行すると、FDDのドライブレターを(A または C と仮定して)表示します。
● サンプル ●
' Windowsパス取得関連関数(API)の定義
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
' Windowsパス取得関数
Public Function WindowsDirectory() As String
Dim WinPath As String
' GetWindowsDirectory APIを利用して、Windowsフォルダのパスを返す
WinPath = String(145, Chr(0))
WindowsDirectory = Left(WinPath, GetWindowsDirectory(WinPath, Len(WinPath))) _
End Function
' FDDのドライブレターを表示
Public Sub FD_DriveLetter()
' Windowsがインストールされたドライブをチェック
If Left$(WindowsDirectory, 1) = "A" Then
' Aドライブなら、C:がFDDと見なす(NEC PC-98)
MsgBox "FDDはCドライブです"
Else
' それ以外は、C:がFDDと見なす(DOS/V)
MsgBox "FDDはAドライブです"
End If
End Sub
|