tags:

views:

481

answers:

1

I have a fairly straight forward peice of code that just tries to set the default saved directory for a standard .net save dialogue to a specific folder. If that folder doesn't exist, it sets it to the desktop.

This works fine for everyone but one user who is getting the following error:

Could not find special directory 'Desktop'

How is that even possible?

        'Check if folder exists
        If Not IO.Directory.Exists(strDirectory) Then
            strDirectory = FileIO.SpecialDirectories.Desktop
            If Not IO.Directory.Exists(strDirectory) Then
                strDirectory = IO.Directory.GetCurrentDirectory
            End If
        End If


    'Show save file dialogue.
    Dim folderDlg As New Windows.Forms.FolderBrowserDialog
    folderDlg.RootFolder = Environment.SpecialFolder.Desktop
    folderDlg.SelectedPath = strDirectory
    folderDlg.ShowNewFolderButton = True
A: 

How about:

strDirectory = _
    Environment.GetFolderPath(Environment.SpecialFolder.Desktop).ToString()

I use GetFolderPath() to get "My Documents" and it works fine (I don't ever have to think about it).

jrcs3