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 ?
ExplorerTreeGadget - Desktop mit rein bekommen
ExplorerTreeGadget - Desktop mit rein bekommen
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Keine Ahnung.
Hab es mal mit BrowseForFolder probiert, da gehts:
Ob Dir das weiterhilft weiß ich nicht
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, "")
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

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" ?
Gibs da nicht auch n schnellen API Befhel der mir das "Included" ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr