SHGetSpecialFolderLocation: GUID für virtuelle folder?

16/01/2013 - 21:18 von Thomas Hoffmann | Report spam
Tag,
mit der o.g. Api kriege ich viele Pfadnamen zu den special folders.
Für virtuelle Folder wie den Papierkorb kann man zwar eine CSIDL übergeben, aber kriegt
keinen string zurück.
Wie kann man von dieser CSIDL denn die GUID bekommen, zb
::{645FF040-5081-101B-9F08-00AA002F954E} für den Papierkorb?
Gruß und Dank
Thomas
 

Lesen sie die antworten

#1 Schmidt
19/01/2013 - 21:30 | Warnen spam
Am 16.01.2013 21:18, schrieb Thomas Hoffmann:

mit der o.g. Api kriege ich viele Pfadnamen zu den special folders.
Für virtuelle Folder wie den Papierkorb kann man zwar eine CSIDL
übergeben, aber kriegt keinen string zurück.
Wie kann man von dieser CSIDL denn die GUID bekommen, zb
::{645FF040-5081-101B-9F08-00AA002F954E} für den Papierkorb?



Der Papierkorb ist eher so ein "special case", mit
eigenen APIs, wie z.B. hier gezeigt:
http://vbnet.mvps.org/index.html?co...ecycle.htm

Falls es eher darum geht, den aktuellen Inhalt aufzulisten,
dann funktioniert das am einfachsten über die Benutzung
des Shell.Application-Objekts ... z.B. so:

Sub EnumerateRecycleBin()
Dim Folder As Object, FolderItem As Object
Const CSIDL_BITBUCKET& = &HA

Set Folder = _
CreateObject("Shell.Application").Namespace(CSIDL_BITBUCKET)

Debug.Print Folder.Self.Path 'GUID-output

For Each FolderItem In Folder.Items
Debug.Print FolderItem.Name
Next
End Sub

Olaf

Ähnliche fragen