Ricorda che devi sempre usare le cartelle speciali.

How To Use the SHGetFolderPath Function from Visual Basic
https://support.microsoft.com/en-us/kb/252652
Ma se fai qualche ricerca trovi pacchi di articoli sull'argomento.

Se tu l'avessi fatto, non avresti avuto alcun problema perché Windows avrebbe 'tradotto' automaticamente il percorso, e da:

C:\Documents and Settings\NomeUtente\Desktop\Nuova cartella\file.html

avrebbe restituito:

C:\Users\NomeUtente\Desktop\Nuova cartella\file.html

Le cartelle speciali servono proprio a non incappare in questo problema e quando un domani Microsoft (questa burlona) si inventerà di cambiare ulteriormente la gestione delle cartelle speciali, il programma continuerà a funzionare senza ulteriori modifiche (almeno lo si spera
).