GetWinDir, GetSysDir

Windows フォルダおよび System フォルダを取得する関数です。
それ以外の特殊フォルダ ( My Documents など ) を取得したい場合はこちらを参照してください。

'標準モジュールに記述します。

Option Explicit

'Windows フォルダを取得
Private Declare Function GetWindowsDirectory Lib "kernel32" _
Alias "GetWindowsDirectoryA" _
    (ByVal lpBuffer As String, _
     ByVal nSize As Long) As Long

'System フォルダを取得
Private Declare Function GetSystemDirectory Lib "kernel32" _
Alias "GetSystemDirectoryA" _
    (ByVal lpBuffer As String, _
     ByVal nSize As Long) As Long
    
Public Function GetWinDir() As String
'<機能>
'   Windows フォルダを取得
    
    Dim lngRet As Long
    Dim strBuf As String * 256

    lngRet = GetWindowsDirectory(strBuf, 256&)
    GetWinDir = Left$(strBuf, InStr(strBuf, vbNullChar) - 1&)

End Function

Public Function GetSysDir() As String
'<機能>
'   System フォルダを取得
    
    Dim lngRet As Long
    Dim strBuf As String * 256

    lngRet = GetSystemDirectory(strBuf, 256&)
    GetSysDir = Left$(strBuf, InStr(strBuf, vbNullChar) - 1&)

End Function

実行例:

'イミディエイトウィンドウでの実行例です。

?GetWinDir
C:\WINNT

?GetSysDir
C:\WINNT\System32

戻る