// Parámetros posibles
// AllUsersDesktop
// AllUsersStartMenu
// AllUsersPrograms
// AllUsersStartup
// Desktop
// Favorites
// MyDocuments
// Programs
// Recent
// SendTo
// StartMenu
// Startup
oleobject wsstring ls_desktop
ws = CREATE oleobject
ws.ConnectToNewObject("WScript.Shell")
choose case pi_specialfoldertype
case 1 // AllUsersDesktop
ls_desktop = ws.SpecialFolders("AllUsersDesktop")
case 2 // AllUsersStartMenu
ls_desktop = ws.SpecialFolders("AllUsersStartMenu")
case 3 // AllUsersPrograms
ls_desktop = ws.SpecialFolders("AllUsersPrograms")
case 4 // AllUsersStartup
ls_desktop = ws.SpecialFolders("AllUsersStartup")
case 5 // Desktop
ls_desktop = ws.SpecialFolders("Desktop")
case 6 // Favorites
ls_desktop = ws.SpecialFolders("Favorites")
case 7 // MyDocuments
ls_desktop = ws.SpecialFolders("MyDocuments")
case 8 // Programs
ls_desktop = ws.SpecialFolders("Programs")
case 9 // Recent
ls_desktop = ws.SpecialFolders("Recent")
case 10 // SendTo
ls_desktop = ws.SpecialFolders("SendTo")
case 11 // StartMenu
ls_desktop = ws.SpecialFolders("StartMenu")
case 12 // Startup
ls_desktop = ws.SpecialFolders("Startup")
end choose
Return ls_desktop
La solución propuesta utiliza la librería Windows Script Host, por lo que no es necesario tener instalado ninguna versión del .Net FrameWork (se trabaja con el API Win32).
Muchas gracias por el codigo, justo en este momento necesitaba obtener la carpeta "mis documentos". De verdad gracias.
ResponderEliminar