Código (vb) [Seleccionar]
Dim resul As String
resul = Environ("homedrive") & Environ("homepath") & "\Escritorio"
If Not IsDir(resul) Then
resul = Environ("homedrive") & Environ("homepath") & "\Desktop"
End If
Private Function IsDir(ByVal DirSpec As String) As Boolean 'Funcion que devuelve True si existe una carpeta y False si no existe
On Error Resume Next
IsDir = ((GetAttr(DirSpec) And vbDirectory) = vbDirectory)
End Function
Environ("homedrive") & Environ("homepath") devuelve C:\Documents And Settings\USUARIO
A partir de aí la carpeta Escritorio dependerá del idioma del SO...
El codigo ese es mas sencillo que los anteriores y funcionará en los SO con idiomas Español e Ingles...es decir en casi todos ...pero si kieres más eficacia yo preferiría el de Tughack pork me gustan más las APIs...pero weno a tu gusto
Corrijanme si me he equivocado...
Saludos
EDIT: Es mejor usar APIs que objetos eso si k es verdad...los objetos son mucho mas lentos...en este caso aun da algo igual pero por ejemplo yo cuando diseñe un algoritmo de busquedas había mucha diferencia entre usar objetos o APIs...e incluso entre Objetos y las propias funciones del VB había mucha diferencia (minutos)...