Seite 1 von 1
ExplorerTreeGadget - Desktop mit rein bekommen
Verfasst: 17.01.2009 23:24
von STARGÅTE
Tachchen,
beim ExplorerTreeGadget bekomme ich ja als Übergeordnetes Element den Arbeitsplatz.
Nun möchte ich aber wie bei andere Programmen auch, den Desktop also übergeordnestes Element haben, welcher dann den Arbeitsplatz und die Ordner auf dem Desktop enthält.
Klar komme ich da auch über Dokumente und Einstellungen usw hin, aber geht das nicht auch so wie oben beschrieben ?
Verfasst: 17.01.2009 23:44
von ts-soft
Keine Ahnung.
Hab es mal mit BrowseForFolder probiert, da gehts:
Code: Alles auswählen
Procedure.s GetSpecialFolder(CSIDL.l)
Protected *itemid.ITEMIDLIST
Protected location.s = Space(#MAX_PATH)
If SHGetSpecialFolderLocation_ (0, CSIDL, @*itemid) = #NOERROR
If SHGetPathFromIDList_(*itemid, @location)
CoTaskMemFree_(*itemid)
If Right(location, 1) <> "\" : location + "\" : EndIf
ProcedureReturn location
EndIf
EndIf
EndProcedure
Procedure BrowseCallbackProc(hwnd, msg, lParam, lData)
Protected szDir.s = 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)
Protected Folder.s = Space(#MAX_PATH)
Protected Dir.BROWSEINFO
Protected result.l, result2.l
Protected Root.s = GetSpecialFolder(#CSIDL_DESKTOP)
Dir\hwndOwner = GetActiveWindow_()
CoInitialize_(#Null)
Dir\pidlRoot = SHGetPathFromIDList_(result2, @Root)
Dir\pszDisplayName = @Folder
Dir\lpszTitle = @Titel
Dir\ulFlags = Style
Dir\lpfn = @BrowseCallbackProc()
Dir\lParam = @Path
result = SHBrowseForFolder_(@Dir)
SHGetPathFromIDList_(result, @Folder)
If Folder <> ""
If FileSize(Folder) = - 2
If Right(Folder, 1) <> "\" : Folder + "\" : EndIf
EndIf
EndIf
CoTaskMemFree_(result2)
CoTaskMemFree_(result)
ProcedureReturn Folder
EndProcedure
BrowseForFolder(Style, Titel.s, "")
Ob Dir das weiterhilft weiß ich nicht
Verfasst: 18.01.2009 00:04
von STARGÅTE
danke schon mal, aber leider nicht, es sollte schon vom Typ her als ExplorerTreeGadget verwendbar sein, also kein Requester.
Gibs da nicht auch n schnellen API Befhel der mir das "Included" ?