Pathrequester als WinAPI-Aufruf?
Verfasst: 04.07.2006 16:26
Ja, wie gefragt.
Gibt es so was und wenn ja wie sieht die Instruktion aus.
Gibt es so was und wenn ja wie sieht die Instruktion aus.
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Code: Alles auswählen
Procedure BrowseCallbackProc(hwnd, msg, lParam, lData)
szDir$ = Space(#MAX_PATH)
Select msg
Case #BFFM_INITIALIZED
SendMessage_(hwnd, #BFFM_SETSELECTION, #BFFM_INITIALIZED, lData)
Case #BFFM_SELCHANGED
If SHGetPathFromIDList_(lParam, @szDir$)
SendMessage_(hwnd, #BFFM_SETSTATUSTEXT, 0, @szDir$)
EndIf
EndSelect
EndProcedure
Procedure.s BrowseForFolder(Style, Titel.s, Path.s)
Folder.s = Space(#MAX_PATH)
Dir.BROWSEINFO
Dir\hwndOwner = GetActiveWindow_()
Dir\pszDisplayName = @Folder
Dir\lpszTitle = @Titel
Dir\ulFlags = Style
Dir\lpfn = @BrowseCallbackProc()
Dir\lParam = @Path
result.l = SHBrowseForFolder_(@Dir)
SHGetPathFromIDList_(result, @Folder)
If Folder <> ""
If FileSize(Folder) = - 2
If Right(Folder, 1) <> "\" : Folder + "\" : EndIf
EndIf
EndIf
CoTaskMemFree_(result)
ProcedureReturn Folder
EndProcedure