oder noch besser es wird Bestandteil von Purebasic
Code: Alles auswählen
;PB 5.72 x64 Windows 10
;https://learn.microsoft.com/de-de/windows/win32/api/fileapi/nf-fileapi-getfinalpathnamebyhandlew
Procedure.s GetFileNameByHandle(fileid)
Protected datname$ = Space(#MAX_PATH)
OpenLibrary(0, "Kernel32.dll")
CallFunction(0, "GetFinalPathNameByHandleW", fileid, @datname$ , #MAX_PATH, 0)
CloseLibrary(0)
ProcedureReturn datname$
EndProcedure
CreateFile(0, "Test.txt") ; wir erstellen eine neue Textdatei...
For a=1 To 10
WriteStringN(0, "Line "+Str(a))
Next
datname$ = GetFileNameByHandle(FileID(0))
Debug Len(datname$)
Debug datname$
Debug GetFilePart(datname$)
CloseFile(0)