開いているファイルのフルパスからの切り出し
開いているファイルのフルパスからの切り出し
ファイルパスをフルパスからファイル名だけを取り出そうとして悩んでいます。
フルパスからファイル名は切り出せるんですけど、切り出してしまうと、フォルダのパスになってしまいます。
どうにかならないものなのでしょうか?
フルパスからファイル名は切り出せるんですけど、切り出してしまうと、フォルダのパスになってしまいます。
どうにかならないものなのでしょうか?
Re: 開いているファイルのフルパスからの切り出し
Win32APIのGetFileTitle()を使ってはみてはどうでしょう?> ファイルパスをフルパスからファイル名だけを取り出そうとして悩んでいます。
http://www.activebasic.com/help_center/ ... eTitle.htm
そのような場合なら
です。ポインタではなく文字列そのものを格納するバッファが必要になります。
コード: 全て選択
Dim FILEPATH[MAX_PATH-1] As Byte
コード: 全て選択
Sub MainWnd_Create ( ByRef CreateStruct As CREATESTRUCT )
Dim FullPath As BytePtr
Dim NameByte As Integer
Dim FileName As BytePtr
FullPath = malloc ( 24 )
lstrcpy ( FullPath , "C:\WINDOWS\explorer.exe" )
NameByte = GetFileTitle ( FullPath , FileName , 0 )
FileName = malloc ( NameByte )
GetFileTitle ( FullPath , FileName , NameByte )
SetWindowText ( hMainWnd , FileName )
free ( FileName )
End Sub
#この処理を関数化しようと試みましたが上手くいきませんでした。
#String型でなら関数化出来たんですがString型は嫌いなので・・・。