【API Function】


[システムディレクトリ等の取得]
 ウインドウズディレクトリの取得には、GetWindowsDirectory関数,
システムディレクトリの取得には、GetSystemDirectory関数,
テンポラリディレクトリのパス取得にはGetTempPath関数を使用します。
これらの関数は、引数にディレクトリのパスを格納するバッファとそのバッファ の大きさを指定します。 この関数が失敗すると0が返り、成功するとバッファの大きさが返ります。


(GetSystemDirectory 関数の使用方法)

 このサンプルでは、CommandButtonをクリックすることでシステムディレクトリを メッセージボックスに表示します。(他の2つもほとんど同じなので省略します)
フォームのGeneralセクションに次の宣言コードを追加して下さい。

'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&'バッファの最大長

次に、フォームにCommandButtonを配置し、次のコードを追加します。

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

3つの関数はあまり違わないのですが、GetTempPath関数において、 ほかの2つの関数と引数の位置が逆になっていることに注意して下さい。


API Functionインデックス トップ


Copyright(C)1999 Tomoya. All rights reserved.