ファイルのフルパス名を取得          <TOP>


ファイルのフルパス名を取得します。

GetFullPathName ファイルのフルパス名を取得

 

現在のカレントパスを付加したファイル名を作成するもので、指定したファイル名が存在しない場合も、現在のカレントパスを付加したファイル名を作成します。

 

'================================================================
'= ファイルのフルパス名を取得
'= (現在のカレントパスを付加したファイル名を作成)
'=    (GetFullPathName.bas)
'================================================================

' ファイルのフルパス名を取得
Declare Function Api_GetFullPathName& Lib "kernel32" Alias "GetFullPathNameA" (ByVal lpFileName$, ByVal nBufferLength&, ByVal lpBuffer$, ByVal lpFilePart&)

'================================================================
'= Null[Chr$(0)]を取り除く
'================================================================
Declare Function TrimNull (item As String) As String
Function TrimNull(item As String) As String
    Var ePos As Integer

    ePos = InStr(item, Chr$(0))
    If ePos Then
        TrimNull = Left$(item, ePos - 1)
    Else
        TrimNull = item
    End If
End Function

'------------------------------

Var FileName As String
Var FullPathName As String * 256    'フルパス名
Var Ret As Long                     '戻り値
 

FileName = "FullPathName.bas"

' フルパス名とファイル名を取得
Ret = Api_GetFullPathName(FileName, len(FullPathName), FullPathName, 0)

Print TrimNull(FullPathName)

Stop
End