ウインドウズディレクトリの取得には、GetWindowsDirectory関数,
システムディレクトリの取得には、GetSystemDirectory関数,
テンポラリディレクトリのパス取得にはGetTempPath関数を使用します。
これらの関数は、引数にディレクトリのパスを格納するバッファとそのバッファ の大きさを指定します。 この関数が失敗すると0が返り、成功するとバッファの大きさが返ります。
(GetSystemDirectory 関数の使用方法)
このサンプルでは、CommandButtonをクリックすることでシステムディレクトリを メッセージボックスに表示します。(他の2つもほとんど同じなので省略します)
フォームのGeneralセクションに次の宣言コードを追加して下さい。
次に、フォームにCommandButtonを配置し、次のコードを追加します。
'APIの宣言 Public Declare Function GetWindowsDirectory Lib "kernel32" _ Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Public Declare Function GetSystemDirectory Lib "kernel32" _ Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Public Declare Function GetTempPath Lib "kernel32" Alias _ "GetTempPathA" (ByVal nBufferLength As Long, _ ByVal lpBuffer As String) As Long Private Const MAX_PATH = 260&'バッファの最大長
3つの関数はあまり違わないのですが、GetTempPath関数において、 ほかの2つの関数と引数の位置が逆になっていることに注意して下さい。
Private Sub Command1_Click() Dim Buffer As String * MAX_PATH Dim BufSize As Long Dim msg As String BufSize = GetSystemDirectory(Buffer, MAX_PATH) If BufSize = 0& Or BufSize > MAX_PATH Then Exit Sub End If msg = Buffer MsgBox msg, vbInformation + vbOKOnly, "システムディレクトリ取得" End Sub