即効テクニック |
●概要● 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